为什么我的chrome扩展清单不允许jquery?

时间:2013-01-22 16:53:55

标签: google-chrome-extension

这是我的清单:

{
  "name": "test.",
  "version": "1.0",
  "permissions": [
    "tabs", "http://*/*", "https://*/*"
  ],
   "content_scripts": [
  {      
  "js": ["jquery.js"]
  }
 ],
  "browser_action": {
      "default_title": "Set this page's color.",
      "default_icon": "icon.png",
     "default_popup": "popup.html"
  },
  "manifest_version": 2
}

和我的popup.js

function click(e) {
  chrome.tabs.executeScript(null,
  {code:"$('img').css('display','none');
  window.close();
}

document.addEventListener('DOMContentLoaded', function () {
...
  }
});

但出于某种原因 我收到了错误

未捕获的ReferenceError:$未定义

为什么?

1 个答案:

答案 0 :(得分:0)

代码中的问题

  • 您的清单中没有匹配模式,因此jQuery没有在任何地方运行\注入,因此$jQuery关键字未定义。

解决方案

修改清单以包含要注入jQuery的URL(不要忘记为URL声明权限。

"content_scripts": [
    {
      "matches": ["http://www.google.com/*"]
      "js": ["jquery.js", "myscript.js"]
    }
  ],

以上在Google页面中注入jQuery,使用<all_urls>注入所有网站。

参考