2012-01-31 79 views
3

這是我的清單:簡單的JS代碼注入與Chrome擴展

{ 
    "name": "rabbi", 
    "version": "1.0", 
    "description": "something", 
    "browser_action": { 
    "default_icon": "icon.png", 
    "popup": "popup.html" 
    }, 
    "content_scripts": [ { 
     "js": ["jquery-1.7.1.min.js", "rabbi.js"], 
     "matches": [ "http://*.facebook.com/*", "http://facebook.com/*", "https://*.facebook.com/*", "https://facebook.com/*" ], 
     "run_at": "document_end" 
    } ], 
    "permissions": [ "contextMenus", "tabs", "http://*.facebook.com/*", "http://facebook.com/*", "https://*.facebook.com/*", "https://facebook.com/*" ] 
} 

和rabbi.js:

<script type="text/javascript"> 
$(document).ready(function(){ 

    alert("Thanks for visiting!"); 

}); 

</script> 

但是,當我進入Facebook的消息 「感謝您訪問」 從來沒有彈出。

+0

的jQuery是沒有從我的分機另一種是不 – Tom 2012-01-31 22:53:28

回答

1

您正在注入腳本而不是html文檔。所以你不需要<script type="text/javascript"></script>標籤。

作爲旁註:使用屬性"run_at": "document_end"當DOM完全構建時,將注入腳本。事實上,這是在同一時間$(document).ready火災。這意味着你不一定需要將你的代碼封裝在這個函數中。

+0

偉大的思想想象:) – Matthew 2012-01-31 22:54:03

+0

事實上,我剛剛看到亞伯拉罕也回答了他的評論 – Jan 2012-01-31 22:56:39

+0

是一分鐘的第一,謝謝你兩個 – Tom 2012-01-31 23:05:06

0

rabbi.js是一個JavaScript文件,因此您可以刪除HTML。

$(document).ready(function(){ 
    alert("Thanks for visiting!"); 
}); 
+0

那沒有幫助..仍然沒有消息 – Tom 2012-01-31 22:41:52

+1

由於您在'document_end'處運行'content_script',因此您可能不需要'ready'觸發器。試試'alert'行。 – abraham 2012-01-31 22:44:35

+0

哦,它的工作! – Tom 2012-01-31 22:45:18

1

你指定你應該"run_at": "document_end"運行腳本,這是DOM準備好後,事件已經解僱(這樣你就不會需要它)