无法将jquery文件添加到chrome扩展程序

时间:2013-12-19 05:37:47

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

我正在尝试将Jquery添加到我的chrome扩展程序

这是我的manifest.json

  {
"name": "OSpy",
"description": "",
"version": "1",
"manifest_version": 2,
 "background":{
    "scripts":["background.js"]
},

   "js": ["js/jquery-1.10.2.min.js"]


"browser_action": {
"default_title": "Object Spy"
},


"permissions":["tabs","<all_urls>"],

 "web_accessible_resources": [
   "img/bt.png"
   "js/jquery-1.10.2.min.js"
 ]

}

问题在于给予,

   Uncaught ReferenceError: $ is not defined

1 个答案:

答案 0 :(得分:0)

显然,您的扩展程序主要使用后台页面,这是您需要jQuery的地方。在这种情况下,您只需在后台脚本列表中添加jQuery JavaScript文件:

{
  "name": "OSpy",
  "description": "",
  "version": "1",
  "manifest_version": 2,
  "background":{
    "scripts":["js/jquery-1.10.2.min.js", "background.js"]
  },
  "browser_action": {
    "default_title": "Object Spy"
  },
  "permissions":["tabs","<all_urls>"]
}

记住在你的实际背景文字之前放下酒坛的脚本!

这是一个简单的例子。假设您有一个扩展,它将Ajax请求从其后台页面发送到其本地html文件,并将响应打印到控制台。

的manifest.json:

{
  "name": "Local Request",
  "description": "Send Ajax request using jQuery",
  "version": "2.0",
  "background": {
    "scripts": ["js/jquery-1.10.2.min.js", "background.js"],
    "persistent": false
  },
  "browser_action": {
    "default_title": "Send Request"
  },
  "manifest_version": 2
}

background.js:

chrome.browserAction.onClicked.addListener(function(tab) {
  $.get("ajax/test.html", function(data) {
    console.log(data);
  });
});

在内容脚本中使用jQuery执行相同的步骤。以下是官方文档中的示例:http://developer.chrome.com/extensions/content_scripts.html"js": ["jquery.js", "myscript.js"])。