编辑 - 问题解决了。我只是在更改清单后没有正确重新加载扩展程序。对我感到羞耻。
我试图将一些像jQuery这样的lib连接到chrome扩展中的background.js。好吧,我发现了很多提示,但是我收到了一个错误。我的manifest.json:
{
"manifest_version": 2,
"name": "Chrome WM",
"version": "0.1",
"content_scripts": [{
"matches": ["http://*/*","https://*/*"],
"js": [
"s/jquery-1.11.1.min.js", "s/jquery.soap.js"
]
}],
"background": {
"scripts": ["s/jquery-1.11.1.min.js", "s/jquery.soap.js", "background.js"],
"persistent": false
},
"permissions": [
"tabs",
"activeTab",
"http://192.168.10.150:801/*"
]
}
我可能不需要" content_scripts"部分,但以防万一。
我的background.js:
function siteChanged(activeInfo) {
if (jQuery) {
console.log("Jquery on");
} else {
console.log("Jquery off");
}
// Lots of things here
}
chrome.tabs.onActivated.addListener(siteChanged);
好的,如果我删除了这个" if(JQuery)"事情整个脚本工作正常,但如果不是我在事件发生时收到这样的错误:
Error in event handler for tabs.onActivated: ReferenceError: jQuery is not defined
at siteChanged (chrome-extension://flhbfgingimkoknegkcnchnhjdmnhcji/background.js:6:6)
在s文件夹中有相对于background.js文件的jquery-1.11.1.min.js脚本,如果我在这个后台脚本旁边创建html页面,请抓住这个jquery-1.11.1.min.js并检查它是否存在连接得当 - 一切都很好。
我做错了什么?