Chrome扩展:即使在清单中正确引用jQuery,也没有定义$
在阅读了大量关于此错误的帖子后,我写了如下清单:Chrome扩展:即使在清单中正确引用jQuery,也没有定义$,jquery,google-chrome-extension,Jquery,Google Chrome Extension,在阅读了大量关于此错误的帖子后,我写了如下清单: { "name": "Chrome extension", "description": "Content Sanitzer", "version": "2.0", "permissions": [ "activeTab", "tabs", "*://*/*" ], "background": { "scripts": ["jquery
{
"name": "Chrome extension",
"description": "Content Sanitzer",
"version": "2.0",
"permissions": [
"activeTab",
"tabs",
"*://*/*"
],
"background": {
"scripts": ["jquery-3.2.1.min.js", "background.js"],
"persistent": false
},
"browser_action": {
"default_title": "TBD"
},
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["jquery-3.2.1.min.js", "content.js"]
}],
"manifest_version": 2
}
编辑:整个background.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {
file: 'content.js'
});
});
@wOxxOm-为清晰起见编辑了问题,添加了代码,是的,我多次重新加载了扩展。如果发布的代码位于
content.js
,它应该可以工作。您看到的错误可能是由于在脚本
元素中插入代码造成的,例如显式地(或通过require()
等隐式地)插入代码,因为它不再是内容脚本,而只是一个页面脚本。@wOxxOm不确定我是否遵循了。我在任何地方都没有html(只发布了background.js文件),因此没有
标记,也没有在任何地方使用.require()
。这可能是通过另一种方式间接发生的吗?或者可能是由另一个错误源造成的?感谢您的帮助,顺便说一句。背景页是一个单独的隐藏页。如果要在浏览器选项卡中处理网页内容,则需要使用内容脚本,另请参见。默认情况下,清单中的内容脚本在加载DOMContentLoaded后注入。您可能需要指定“run\u at”:“document\u start”
,请参阅文档。@wOxxOm-为清晰起见,对问题进行了编辑,添加了代码,是的,我多次重新加载了扩展名。如果发布的代码位于content.js
,则应该可以使用。您看到的错误可能是由于在脚本
元素中插入代码造成的,例如显式地(或通过require()
等隐式地)插入代码,因为它不再是内容脚本,而只是一个页面脚本。@wOxxOm不确定我是否遵循了。我在任何地方都没有html(只发布了background.js文件),因此没有
标记,也没有在任何地方使用.require()
。这可能是通过另一种方式间接发生的吗?或者可能是由另一个错误源造成的?感谢您的帮助,顺便说一句。背景页是一个单独的隐藏页。如果要在浏览器选项卡中处理网页内容,则需要使用内容脚本,另请参见。默认情况下,清单中的内容脚本在加载DOMContentLoaded后注入。您可能需要指定“运行时间”:“文档开始”
,请参阅文档。
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {
file: 'content.js'
});
});