Błąd rozszerzenia „$ nie jest zdefiniowany” w Chrome

Otrzymuję błąd „$ nie jest zdefiniowany”, gdy pracuję nad moim rozszerzeniem chrome.

To jest mój plik manifestu:

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

To jest mój plik background.js:

chrome.browserAction.onClicked.addListener(function(tab){
  // No tabs or host permissions needed!
  chrome.tabs.executeScript({
    file: 'content.js'
  });
});

Na koniec plik, w którym wystąpił błąd: 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');
        }
    };
});

Z mojego zrozumienia wynika, że ​​JQuery nie jest ładowany. Jednak ładuję go poprawnie w manifeście, a jquery.js jest również pierwszym plikiem wywoływanym w skrypcie treści manifestu. Pomóż mi w debugowaniu. Dziękuję Ci!

questionAnswers(3)

yourAnswerToTheQuestion