我試圖編寫一個Chrome擴展,在目標頁面上放置一個小腳本,然後針對頁面上的項目執行特定操作。作爲Chrome擴展程序的新手,我已經開始使用「Hello World」警報。這工作正常,但是我實際上想要做的事情包括對對象使用jQUery。添加jQuery停止執行腳本
雖然我的目標頁面已經導入jQuery,但如果我嘗試在我的腳本中使用它,我會得到一個異常,即$未定義。但是,如果我自己嘗試導入它,即使alert
停止工作。
下面是我的代碼,任何人都可以指出我要去哪裏錯了嗎?
manifest.json的
{
"manifest_version": 2,
"name": "Hello World",
"description": "Simple Hello World Extension",
"version": "1.0",
"content_scripts": [
{
"matches": ["http://localhost:46950/"],
"run_at": "document_end",
"js": ["http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", "popup.js"]
}
]
}
popup.js
$(helloWorld());
function helloWorld()
{
alert("Hello World");
}
更新
挖掘到的Chrome://擴展,我意識到,當我嘗試使用下面的代碼,擴展名不是loade d到Chrome中。如果我嘗試再次手動加載它,我會得到以下例外:
無法從「'加載擴展名。無法加載JavaScript內容腳本。
JavaScript函數是一階,你需要傳遞的功能jQuery的準備處理程序不調用它。 '$(helloWorld)'和_not_'$(helloWorld())' –
但是,由於'$'未定義,甚至沒有達到特定的問題。 –
@BenjaminGruenbaum這似乎並非如此。如果我使用'$(helloWorld);'沒有任何反應(在它通常工作的情況下)。如果我添加'$(helloWorld());'它工作正常。 –