4

Я пытаюсь подключить расширение Chrome к Firefox с использованием новой Mozilla WebExtension API. Проблема в том, что с помощью Chrome я мог отлаживать фоновый рисунок и всплывающее окно отдельно. Кроме того, popup.js сценарий был запущен каждый раз был открыт всплывающее окно, и background.js можно Reloaded с помощью Ctrl + R ... и я понятия не имею, как это сделать в Firefox. Я даже не знаю, возможно ли это. Насколько я понял, оба сценария (background.js и popup.js) выполняются только при перезапуске браузера (не так ли?).Отладка нового API WebExtension Mozilla

Кто-нибудь знает, как решить эти проблемы, или хороший способ отладки расширений Firefox, написанных с помощью WebExtension API?

Спасибо!

ответ

1

В последних версиях Firefox (например, 49) есть более эффективные средства отладки WebExtension и recent docs on MDN explain how to use them. Вам понадобится the Browser Toolbox, и вам может понадобиться set up a custom Firefox profile, который позволяет использовать панель инструментов браузера по умолчанию (или установил DevPrefs addon).

1

К сожалению, отладка WebExtensions - это боль в данный момент. A related bug.

Единственное, что вы можете сделать в это время - использовать операторы debugger; для установки контрольных точек в коде. Отладчик вам нужен Browser Toolbox.

Открыть панель инструментов браузера, сфокусировать вкладку отладчика, дождаться загрузки источников и затем запустить код для доступа к этим операторам. Действуйте как обычно.

Что касается перезагрузки вещей, действие браузера было supposedly fixed, и фон выполнялся каждый раз, когда вы отключите и снова включите свой аддон.

Тем не менее, Firefox страдает от различных code cache issues, так как навсегда, поэтому отключение и повторное включение вашего аддона могут не получить никаких изменений. Лучше всего перезапустить браузер каждый раз. Существует также discussion to support live reload.

1

Вы пытались использовать панель инструментов браузера? https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox

Как только ваш Firefox включит опции «Включить браузерные хромированные и дополнительные функции отладки» и «Включить удаленную отладку», вы можете получить к нему доступ с комбинацией клавиш Ctrl + Alt + Shift + I.

Смежные вопросы