将JQuery加载到Chrome扩展程序中?

时间:2011-02-09 16:17:35

标签: jquery google-chrome-extension

我正在尝试将JQuery加载到我的Chrome扩展程序中并使其等于一个对象,但我想知道我该怎么做呢?基本上我喜欢...... ...

jQuery = loadLibraries("jquery-1.4.2.min.js");

我该怎么做?

编辑:我正在注入内容脚本。

5 个答案:

答案 0 :(得分:50)

您可以将jquery.js放入扩展文件夹并将其包含在清单中:

{
  "name": "My extension",
  ...
  "content_scripts": [
    {
      "matches": ["http://www.google.com/*"],
      "css": ["mystyles.css"],
      "js": ["jquery.js", "myscript.js"]
    }
  ],
  ...
}

您不必担心父页面上与jQuery的冲突,因为内容脚本是沙箱。

答案 1 :(得分:11)

您可以通过background_page HTML中的脚本执行此操作:

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript(null, { file: "jquery.min.js" }, function() {
    chrome.tabs.executeScript(null, { file: "content_script.js" });
  });
});

然后在content_script.js中做任何你喜欢的事情:

  $('#header').hide();

请注意,即使您注入的页面已经加载了jQuery,您仍然会访问自己的jQuery对象实例,该对象通过DOM访问该页面。 (文件)。

答案 2 :(得分:5)

"content_scripts": [ {
    "matches": ["http://*/*"],
    "js": ["jquery.min.js"]
} ]

答案 3 :(得分:3)

检查同一个帖子中的answer by jdc

编辑:这个答案很古老,不再反映当前的做法了。谢谢你的提醒。

答案 4 :(得分:0)

添加到以上答案中,如果您希望通过CDN添加jQuery,则需要在manifest.json文件中添加以下内容

"content_security_policy": "script-src 'self' https://ajax.googleapis.com; object-src 'self'"