将外部js lib连接到chrome事件页面

时间:2014-12-18 08:33:15

标签: javascript jquery google-chrome google-chrome-extension google-chrome-devtools

编辑 - 问题解决了。我只是在更改清单后没有正确重新加载扩展程序。对我感到羞耻。

我试图将一些像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并检查它是否存在连接得当 - 一切都很好。

我做错了什么?

0 个答案:

没有答案