我在开发Chrome插件时遇到了一个错误"$ is not defined"。
这是我的清单文件:
{
"name": "X",
"description": "Snip this page",
"version": "2.0",
"permissions": [
"activeTab"
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"content_scripts":[{
"matches" : ["<all_urls>"],
"js": ["jquery-2.0.2.js","jquery.Jcrop.js"],
"css": ["jquery.Jcrop.min.css"]
}],
"browser_action": {
"default_title": "Snip this page"
},
"manifest_version": 2
}
这是我的background.js文件:
chrome.browserAction.onClicked.addListener(function(tab){
// No tabs or host permissions needed!
chrome.tabs.executeScript({
file: 'content.js'
});
});
最后,导致错误的文件是:content.js
console.log('1');
var jcropapi, boundx, boundy;
$('body').attr('id', 'target');
$(document).ready(function(){
$('target').Jcrop();
console.log('4');
document.onkeydown = function(){
if(window.event.keyCode==13){
console.log('enter');
}
};
});
根据我的理解,这是因为 JQuery 没有被加载。然而,我在清单中正确加载了它,并且 jquery.js 也是清单内容脚本中调用的第一个文件。请帮助我进行调试。谢谢!