Chrome 拡張機能を使用しているときに、「$ が定義されていません」というエラーが表示されます。
これは私のマニフェストファイルです:
{
"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 はマニフェスト コンテンツ スクリプトで呼び出される最初のファイルでもあります。デバッグで私を助けてください。ありがとう!