0

这是我的清单:

{
  "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:$ 未定义

为什么?

4

1 回答 1

0

您的代码中的问题

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

解决方案

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

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

以上是在 Google Page 中注入 jQuery,用于<all_urls>在所有网站中注入。

参考

于 2013-01-22T17:04:27.903 回答