Загрузить JQuery 3.1 в расширение Chrome?

Мой Плохой: у меня был веб-пакет для угловатого аспекта этого проекта, искажающего мой JQuery

Я получаю сообщение об ошибке "$ is notfined", когда я работаю над расширением Chrome.

Я могу заставить его работать нормально для JQuery 1.4, но не JQuery 3.1

Я следовал инструкциям по этим ссылкам

  1. хром-расширение-это-не определены ошибки
  2. нагрузки JQuery-в-а-хром-расширение
  3. как к потребительной JQuery-в-хром-расширения
  4. хром-расширения-неперехваченный-ReferenceError-это-не определены

Вот ZIP к ошибочному коду

Я добавил следующие записи в верхнюю и нижнюю часть файлов JQUERY, чтобы проверить, нормально ли они работают.

console.log('JQUERY is loading into memory');
console.log('JQUERY END of file');

Сбои для JQuery 3.1

введите описание изображения здесь

Работает на JQuery 1.4

введите описание изображения здесь

Файл манифеста для JQuery 1.4 (работает нормально)

То же, что и ниже, но "scripts/jquery-3.1.1.min.js" был изменен на "scripts/jquery.js"

Файл манифеста для JQuery 3.1 (не работает)

{
  "name": "__MSG_appName__",
  "short_name": "__MSG_appShortName__",
  "description": "__MSG_appDescription__",
  "version": "0.0.0",
  "manifest_version": 2,
  "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
  "default_locale": "en",
  "icons": {
    "16": "images/icon-16.png",
    "128": "images/icon-128.png"
  },
  "background": {
    "scripts": [
      "scripts/jquery-3.1.1.min.js",
      "scripts/background.js"
    ]
  },
  "browser_action": {
    "default_icon": {
      "19": "images/icon-19.png",
      "38": "images/icon-38.png"
    },
    "default_title": "__MSG_browserActionTitle__",
    "default_popup": "pages/popup.html"
  },
  "options_page": "pages/options.html",
  "options_ui": {
    "page": "pages/options.html",
    "chrome_style": true
  },
  "content_scripts": [
    {
      "matches": [
        "http://*/*",
        "https://*/*"
      ],
      "css": [
        "styles/contentscript.css"
      ],
      "js": [
        "scripts/jquery-3.1.1.min.js",
        "scripts/contentscript.js"
      ],
      "run_at": "document_end",
      "all_frames": false
    }
  ],
  "permissions": [
    "clipboardRead",
    "clipboardWrite",
    "pageCapture",
    "webNavigation",
    "webRequest"
  ]
}

ContentScript.js

var now = new Date();
console.log('Beginning of Content script: ' + now.getMinutes() + ':' + now.getSeconds());

// Javascript works fine
var div = document.createElement('div').appendChild(
    document.createTextNode('My Content Script')
);

document.body.insertBefore(div, document.body.firstChild);

(function() {
    console.log('try to access $(\'body\') in (function() {})();');
    try {
        console.log('david2222: ' + $('body'));
        console.log('SUCCESS');
    }
    catch (ex){
        console.log(ex.message);
    }
})();


var t = setTimeout(function(){
    console.log('try to access $(\'body\') in 1 second timeout');
    try {
        console.log('david3333: ' + $('body'));
        console.log('SUCCESS');
    }
    catch (ex){
        console.log(ex.message);
    }
}, 1000);

0 ответов

Другие вопросы по тегам