Загрузка страницы расширения Firefox не запускается - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь написать очень простое расширение для Firefox, которое просто запускает базовый JavaScript при загрузке окна.Но событие никогда не начинается.Я видел и пробовал вещи из нескольких разных постов, и ни один из них не работает для меня.

function startup() {
        alert("Hi"); 
}
window.addEventListener("load", startup, false);
document.body.style.border = "5px solid red";

Я также пробовал это:

function startup() {
mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                         .getInterface(Components.interfaces.nsIWebNavigation)                         .QueryInterface(Components.interfaces.nsIDocShellTreeItem)
                         .rootTreeItem                         .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                         .getInterface(Components.interfaces.nsIDOMWindow);
    mainWindow.getBrowser().addEventListener("load", listener, false);
     Sidebar is loaded and mainwindow is ready
    }

    var listener = function(e){
        alert("Hai");
        //To remove event listener
        //mainWindow.getBrowser().removeEventListener("load",listener, false);
    }
window.addEventListener("load", startup, false);
document.body.style.border = "5px solid red";

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

1 Ответ

0 голосов
/ 18 мая 2018

Ваш код должен работать.

Взгляните на пример borderify WebExtension.Я не удивлюсь, если это даже тот пример, который вы использовали, поскольку это то же самое назначение document.body.style.border = "5px solid red".

После того, как я изменил borderify.js, чтобы включить вашу первую функцию запуска, я получаю предупреждение(и красная граница), когда я открываю https://www.mozilla.org/ (протестировано с Firefox 60):

function startup() {
  alert("Hi"); 
}
window.addEventListener("load", startup, false);
document.body.style.border = "5px solid red";

Если вы все еще не видите предупреждение, вы можете отладить его.Код будет выполнен в скрипте контента, поэтому вам необходимо использовать панель инструментов скрипта контента:

  1. В about:debugging, включить отладку надстроек
  2. Перейти к https://www.mozilla.org/
  3. Откройте «Инструмент» -> «Веб-разработчик» -> «Панель инструментов содержимого браузера»
  4. В отладчике откройте borderify.js

Теперь вы можете установитьточки останова, и в случае каких-либо исключений вы увидите их в консоли.

Надеюсь, что это поможет вам сузить ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...