2016-04-05 2 views
1

Мне нужна помощь с JPM. Я пытаюсь разработать расширение firefox с помощью JPM. Я хотел бы мое расширение автоматически запускается при открытии Firefox, но я не могу добавить событие на onLoad я знаю, что с наложением я могу сделать что-то вроде:Autorun firefox extension jpm

window.addEventListener("load", function load(event){ 
    console.log("hello"); 
},false); 

Если добавить это событие в моей расширения JPM дает мне ошибку:

JPM [error] Message: ReferenceError: window is not defined

можно ли сделать это с JPM? Или есть другой способ запустить расширение Firefox для открытия?

+0

где вы положили этот скрипт? –

+0

Я поместил этот скрипт в свой 'index.js', этот файл создается автоматически с помощью' jpm init'. Я выполнил этот учебник https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Getting_Started_%28jpm%29 @Fast Snail – simon

+0

в этом уроке, я не вижу 'window.addEventListener'.? Я думаю, вы не можете использовать это в 'index.js', но вы можете использовать его в сценарии содержимого. –

ответ

3

Ваше расширение уже загружается при запуске firefox.

Как вы думаете, что добавляет window.addEventListener? Для этого он должен выполнить код javascript.

+0

Да после некоторого исследования мой 'index.js' загружается при запуске firefox, поэтому я могу делать то, что хочу в этом файле – simon

+0

@simon. Если этот ответ решает вашу проблему, пожалуйста, примите его. Таким образом, вопрос будет отображаться как принятое решение. – Makyen

0

@simon, Вы также можете слушать события загрузки и выгрузки. https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Listening_for_load_and_unload

Поэтому, если добавить exports.main = функция() {} в index.js, код внутри этой функции будет работать, как только Firefox запустится и надстройка на загрузке.