javascript - jQuery 在 Chrome 扩展中未定义?

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

我正在尝试在 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/

相关文章:

javascript - Chrome 开发工具中使用了哪些框架和库?

javascript - 为什么此代码无法从 HTML 文本框中获取文本并将其显示在段落中?

javascript - 使用字符串参数执行函数

javascript - 将 backburner 调试添加到 ember-cli 项目

javascript - jQuery/JS : empty field after success?

jquery - 类型错误 : 'undefined' is not an object (evaluating '$.browser.msie' )

javascript - 不通过自定义脚本导入的外部 CSS 库

javascript - 在 chrome 扩展程序中保留页面操作的状态

javascript - 单击弹出共享此窗口

CSS - 字体在 Firefox 和 Chrome 中呈现不同