我正在尝试将JQuery加载到我的Chrome扩展程序中并使其等于一个对象,但我想知道我该怎么做呢?基本上我喜欢...... ...
jQuery = loadLibraries("jquery-1.4.2.min.js");
我该怎么做?
编辑:我正在注入内容脚本。
答案 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'"