Слушатель меняет URL перед загрузкой в ​​Mozilla SDK

Я пытаюсь получить что-то похожее на исправление опечатки в адресной строке на Mozilla SDK. Пользователь вводит URL-адрес в адресной строке, и он изменяется перед загрузкой. Я пробовал:

SDK / pagemod, как видно здесь. Проблема в том, что он запускается, когда страница начинает рендериться, а не до того, как начинает ее загружать.

sdk/ tabs => У него нет события, которое вызывается до того, как он начинает загружать сайт.

Выше я обнаружил, что это может поймать сайты, на которые пытается зайти пользователь. Я также нашел sdk/ system / events, но единственное обнаруженное мною событие - это http-on-modify-request, который перехватывает каждый http-запрос. Проблема в том, что вы не можете изменить URL этого запроса.

Чтобы решить эту проблему, я видел 2 варианта:

Путь этого аддона => Получить текущую вкладку и загрузить туда новый URL. Проблема ясна, запрос может быть не от URL, который пытается загрузить пользователь, а от URL внутри html страницы. Я попытался сравнить URL-адрес запроса с tabs.activeTab.url, но он устанавливается после отправки события http-on-modify-request.

или решение объясняется здесь, что я не уверен, что может работать (это не для Mozilla SDK).

Так что в принципе мою проблему сейчас можно решить с помощью:

- способ получить URL-адрес из строки адреса до того, как он начнет загружаться и изменять его (я ничего не видел для этого на SDK) или - узнать, когда запрос соответствует веб-сайту, который пользователь пытается загрузить в адресной строке или -a способ изменить запрос (url)

2 ответа

Я делаю это в своем дополнении Google Redirects Fixer, исходный код которого вы можете увидеть здесь.

По сути, вы ищете прослушивание события http-on-modify-request. Если вы будете следовать этому коду, вы увидите, как перехватить запрос и при определенных условиях прервать его и заменить новым запросом.

Надеюсь, поможет.

msgstr "sdk/pagemod, как видно здесь. Проблема в том, что он запускается, когда страница начинает рендеринг, а не до того, как она начинает загружать ее."

Вы можете указать прикрепить его до того, как какой-либо контент будет загружен contentScriptWhen: start,

Загружайте сценарии содержимого сразу после вставки элемента документа в DOM, но до загрузки самого содержимого DOM

Другие вопросы по тегам