我正在寫一個Chrome的內容腳本,當我在DOM注入這樣的:功能沒有定義創建一個Chrome擴展程序內容腳本
"<a href='#' onclick='alert(\"Hi!\");return false;'>Hi</a>"
它工作正常(警報,當我點擊它會彈出)但是,如果我爲警報創建一個函數,它會說函數未定義。例如:
"<a href='#' onclick='alertPlease(\"Hi!\");return false;'>Hi</a>"
function alertPlease(x){
alert(x);
}
我所有的代碼都是相同的內容腳本js文件。
我是否需要在後臺加載另一個js文件後放置任何可以使用的代碼?我試着用'alertPlease()'添加一個背景頁面''功能,但也沒有效果。
任何提示將不勝感激!
謝謝!
它在那裏。該擴展只包含1個js腳本,該腳本只有2個步驟:在onclick attr處注入錨點標記,並在點擊時添加該函數。如果我使用內聯警報,它會起作用。 – pizzamiasucks 2011-03-02 01:58:15
嗯,我只是在我的擴展中使用jQuery,所以我沒有遇到這個問題,但似乎與DOM中的js交互的唯一方法是注入腳本標記。看看[這篇文章](http://stackoverflow.com/questions/2303147/injecting-js-functions-into-the-page-from-a-greasemonkey-script-on-chrome);我想這可能是你以後的事情。 – 2011-03-02 02:18:28