2016-10-07 2 views
0

Проблема: Я пытаюсь использовать jquery в своем расширении Google Chrome. Кажется, он не работает. Я попытался добавить его в свой манифест, ссылаясь на локальные копии файла jquery, и я также попробовал добавить разные директивы, чтобы разрешить удаленный доступ к нему на CDN, оба решения, найденные мной из StackOverflow.Google Chrome Extension Popup не загружается при использовании jquery

Симптом: При нажатии на кнопку верхнем правом действия, которые предполагают, чтобы запустить popup.html он ничего не делает, но если я правой кнопкой мыши и выберите «Просмотр всплывающего окна» всплывающие нагрузки со всеми функциями из JQuery включает. Есть идеи? Я включил свой манифест ниже.

Возможная подсказка: Добавление временных задержек на самом деле делает всплывающее визуализацию и выполнение jquery-кода выполняется вскоре после того, как всплывающее окно выходит из строя само по себе, по сути, сбой молча.

{ 
    "manifest_version": 2, 

    "name": "My extension", 
    "description": "A test extension.", 
    "version": "1.0", 
    "icons":{"128": "icon_512.png"}, 
    "background": { 
    "scripts": ["jquery-3.1.1.min.js","events.js"], 
    "persistent": false 
    }, 
     "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup.html", 
    "default_title": "Click here!" 
    } 
} 

Jquery

Внутри popup.js я следующее:

$(document).ready(function(){ 
    alert("Random output!"); 
}); 

Но если я это работает на мгновение:

setTimeout(function(){ 
    // Code here 
$(document).ready(function(){ 
    alert("Jquery works for a little bit!!!"); 
}); 

},1000); 

popup.html

<!doctype html> 
<html> 
    <head> 
    <title>Test</title> 
    <style type="text/css"> 
     #content { 
      background-color: yellow; 
      width: 500px; 
      height: 500px; 
     } 
    </style> 
    </head> 
    <body> 
    <div id="content"> 
     <h1>Test</h1> 
     <button id="checkPage">Start</button> 
    </div> 

    <script src="jquery.min.js"></script> 
    <script src="popup.js"></script> 
    </body> 
</html> 
+0

Всплывающие и справочные страницы - разные документы. Вы загружаете jQuery в popup.html? Если да, покажите это. – wOxxOm

+0

@wOxxOm Это должно подразумеваться моим файлом манифеста и моим описанием. Jquery, который вы видите для popup.js. Я также добавлю файл popup.html. –

+1

Я пробовал ваш код здесь, он работает правильно на версии 54.0.2840.50 beta-m (64-разрядная версия) – Granga

ответ

0

Как отметила Гранга выше, эта проблема была вызвана проблемой совместимости версий. Пока, кажется, последняя версия jQuery с последней версией Google Chrome отлично работает. Если кто-то столкнется с такой проблемой в будущем, попробуйте обновить jQuery и/или Chrome.

Смежные вопросы