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'
  });
});