jQuery在chrome扩展中是未定义的?

时间:2016-01-23 06:36:23

标签: javascript jquery google-chrome google-chrome-extension

我正在尝试在js文件中运行一个简单的jQuery调用,同时制作我的第一个chrome扩展但不确定为什么我一直收到此错误:

Uncaught ReferenceError: $ is not defined

这是我的清单文件:

{
  "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/"
  ]
}

这是弹出窗口中的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被打印但是我在$

上得到了错误

1 个答案:

答案 0 :(得分:0)

对我有用的解决方案(因为我看到这个问题很多)是在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"});
});