2014-02-20 2 views
0

У меня есть хром-расширение, в котором я dynamly загрузить JS-файлов (в зависимости от LocalStorage-настроек)Chrome-Extension: Загрузка Background_JS только по запросу

$.getScript(chrome.extension.getURL("./setup/js/inner.js"), function() { 
    DoInnerMagic(); 
}); 

Но это работает только если я добавляю внутренний. JS к контент-скриптов внутри manifest.json:

"content_scripts": 
    [{ 
     "matches": ["https://mypage.com/*"], 
     "js": [ "setup/js/inner.js" ] 
    }] 

Но это приводит к тому, .js-файл, который будет загружен даже до того, как загрузить его с помощью кода (я могу видеть это в Dev-консоли из хрома)

Что мне нужно сделать, чтобы действительно загружать мой файл только при необходимости?

мне нужно сделать это изнутри контент-скрипт, так chrome.tabs-функции не будут работать

ответ

0

Ваш фрагмент не делает его ясно, как вы используете LocalStorage, или при чтении , но если я правильно понимаю, event pages, скорее всего, то, что вы ищете. Цитирование связанной страницы:

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

Я использовал это только на днях, чтобы загружать только мои .js, когда срабатывает прослушиватель событий, и он отлично работает. Конечно, сценарий, который я вызываю, определяется как фоновый скрипт, например:

"background": { 
    "scripts": ["myScript.js"], 
    "persistent": false 
} 
Смежные вопросы