Как да получите достъп до фоновата страница на разширението, създадено от Jetpack, във Firefox?

Създавам разширение, използвайки разширението за браузър с отворен код на trigger.io рамка, наречена forge. Можете да разгледате документацията тук. Документите са доста добри и всичко изглежда работи чудесно с изключение на Firefox: изглежда не мога да накарам скрипт background.js да се държи както трябва (което е като това как се държи в Chrome)

Новосъздаденият проект forge включва src директория, която на свой ред съдържа config.json, която има за цел да имитира манифеста v2 на Chrome. Там можете да включите фонови скриптове и скриптове за съдържание (които всъщност се наричат ​​„Активации“).

Предположих, че създателят на Firefox използва този addon-sdk (Jetpack?). За разлика от IE и Chrome, конструкторът на Firefox изоставя страницата background.js и изглежда изобщо не използва страницата forge.html, въпреки че тя присъства в кода на разширението. alert(), поставен в background.js, включен в config.json, изглежда не върши работа.

Защо фоновият скрипт се игнорира? Как да създам фонов скрипт, който да използвам с Jetpack, за да имам достъп до API на forge, за да настроя съобщения и други подобни?

Има твърде много файлове за включване тук, така че качих папката за разработка с .xpi файл.


person dsp_099    schedule 15.03.2014    source източник
comment
Можете ли да обясните повече какво се опитвате да направите? По подразбиране всичко работи във фонов режим. Искате ли да заредите невидима iframe и да заредите страница там? Фонова страница на кои разширения?   -  person Noitidart    schedule 16.03.2014
comment
Моля, бъдете много конкретни. Отворих вашата добавка, но в кой файл искате да получа достъп до каква функция? Моля, бъдете конкретни и мога да ви помогна.   -  person Noitidart    schedule 24.03.2014
comment
Вашият сигнал изглежда работи добре. Инсталирайте добавката и презаредете страниците, ще видите предупреждение. Оттам коя функция искате да извикате? Използвайте window.FORGE_FUNCTION_HERE   -  person Noitidart    schedule 24.03.2014
comment
Сигналът, който виждате, е скриптът за активиране, който, както споменах, работи добре. Кодът в background.js обаче не се изпълнява.   -  person dsp_099    schedule 24.03.2014


Отговори (1)


Бързо разследване разкри следното

  • Фоновите скриптове на Forge във Firefox са внедрени като PageWorker скриптове. Скриптовете на PageWorker се изпълняват на скрита страница. Следствие от тази подробност е, че alert() се проваля.

  • Обаждането alert е неуспешно със съобщение за грешка (доста загадъчно за начинаещ)

  • На този етап може да искате да проверите конзолата на браузъра. Ако не виждате съобщение, оплакващо се, че не можете да извикате openModalWindow на скрит прозорец, вероятно не сте задайте нивото на регистриране.

Така че вашият фонов скрипт работи добре. Това е рамката, която не изпълнява обещанието си за различни браузъри.

person paa    schedule 24.03.2014
comment
Хубаво разследване, отказах се от това, SDK просто не е моето нещо - person Noitidart; 25.03.2014
comment
Страхотно, точно това ми трябваше - person dsp_099; 28.03.2014
comment
Тъй като вече сте проверили SDK, можете ли да ми кажете дали е възможно да използвам forge.request.get() за вземане на локален файл? Изглежда не мога да направя това, въпреки че се рекламира като възможно - person dsp_099; 29.03.2014