2015-08-16 7 views
0

Это моя первая попытка расширения хрома, так что несите меня. Мое намерение состоит в том, чтобы иметь всплывающее окно, в котором отображается один из двух значков: один, если загружен определенный скрипт, и один значок, если нет. Я работаю в браузере, но у меня проблемы с плагином. $ не определен, показывает, не уверен, является ли манифест проблемой jquery или нет. Если бы вы могли посмотреть, что у меня есть, я бы это оценил.Проблема с расширением popup, jquery?

Manifest

{ 
    "manifest_version": 2, 

    "name": "Sandbox Notice", 
    "description": "Sandbox notice", 
    "version": "1.0", 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup.html" 
    }, 
    "background": { 
    "scripts": [ 
     "background.js", 
     "jquery.min.js" 
    ] 
    }, 
    "content_scripts": [ 
    { 

     "matches": ["https://xxx.xxx.com/*"], 
     "js": ["jquery.min.js", "background.js"] 
    } 
    ] 
} 

Всплывающее HTML

<!doctype html> 
<html> 
    <head> 
    <script src="background.js"></script> 
    </head> 
    <body> 
    <img id="status" src=""> 
    </body> 
</html> 

фон JS

$(document).ready(function() { 
    if ($('script[src="https://xxx.xxx.com/js/xxx.js"]').length > 0) { 
     $("#status").attr("src","pro.png"); 
    } else { 
     $("#status").attr("src","sb.png"); 
    }; 
}); 

ответ

0

Вы смешиваете две очень разные вещи: всплывающее окно и справочную страницу.

Не указывайте свое всплывающее окно «background.js», его всплывающее окно так назовите его popup.js. это и привело к путанице с другим ответом.

затем в popup.html просто включить свой локальный JQuery, как вы бы включить любую другую библиотеку, прежде чем включать popup.js

+0

Спасибо! Вверх и бег теперь, я еще кое-что читаю, чтобы делать на расширениях, но это сводило меня с ума. –

0

Так что я думаю, что вы должны сказать, что ваш фон, что JQuery доступен в файле manifest.

"background": { 
    "scripts": [ 

     "scripts/jquery.min.js", //change this to point to your location 
     "scripts/background.js" // change this to point to your location 
    ] 
    } 

Также важно указать порядок, вам нужно выполнить jquery перед запуском background.js.

+0

Я добавил, что, но по-прежнему получать $ не определен, Hummm. –

+0

Small изменение .. желающий htis работает аут .. – smk

+0

lol надеюсь. У меня просто все в корневой папке расширения, в файле jquery тоже, поэтому я не добавляю скрипты/манифеста. –