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

Ski*_*zit 27 jquery google-chrome-extension

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

jQuery = loadLibraries("jquery-1.4.2.min.js");
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

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

ser*_*erg 50

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

{
  "name": "My extension",
  ...
  "content_scripts": [
    {
      "matches": ["http://www.google.com/*"],
      "css": ["mystyles.css"],
      "js": ["jquery.js", "myscript.js"]
    }
  ],
  ...
}
Run Code Online (Sandbox Code Playgroud)

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


jdc*_*jdc 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" });
  });
});
Run Code Online (Sandbox Code Playgroud)

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

  $('#header').hide();
Run Code Online (Sandbox Code Playgroud)

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

  • 什么是"background_page"和"content_script.js"? (5认同)

Ank*_*tra 5

"content_scripts": [ {
    "matches": ["http://*/*"],
    "js": ["jquery.min.js"]
} ]
Run Code Online (Sandbox Code Playgroud)


Rod*_*ahn 3

在同一个线程中检查jdc 的答案。

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

  • 嗨,罗德里戈,抱歉,我通常会发表评论,但一定忘记了。单独的参考链接不应该成为 Stack Overflow 上的答案,因为如果它们损坏了,你的答案将毫无用处。我代表您进行了编辑并删除了我的反对票。希望这可以帮助! (8认同)