我正在尝试在 js 文件中运行一个简单的 jQuery 调用,同时制作我的第一个 chrome 扩展,但不知道为什么我不断收到此错误:
Uncaught ReferenceError: $ is not defined
这是我的 list 文件:
{
"manifest_version": 2,
"name": "Getting started example",
"version": "1.0",
"description": "This extension shows a Google Image search result for the current page",
"background": {
"scripts": ["jquery-2.2.0.min.js", "popup.js"],
"persistent": false
},
"browser_action": {
"default_icon": "icon.png",
"default_title": "Click here!"
},
"permissions": [
"activeTab",
"https://ajax.googleapis.com/"
]
}
这是弹出js中的onclick调用:
chrome.browserAction.onClicked.addListener(function(tab) {
console.log("FIRE");
chrome.tabs.executeScript(null, {file: "testScript.js"});
});
这是显示错误的测试脚本:
console.log('foo');
console.log($('#page-top'));
foo 被打印,但随后我在 $ 上收到错误
最佳答案
对我有用的解决方案(因为我看到这个问题被问了很多)是它没有在 testScript 之前执行......我将其更改为:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "jquery-2.2.0.min.js"});
chrome.tabs.executeScript(null, {file: "testScript.js"});
});
关于javascript - jQuery 在 Chrome 扩展中未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34960441/