Я создаю расширение firefox, которое создает несколько скрытых элементов браузера.
Я хотел бы addProgressListener()
обрабатывать onLocationChange для загружаемой страницы. Однако мой обработчик не всегда вызывается.
В частности, вот что я делаю:
- Создайте элемент браузера без установки его свойства
src
- Прикрепите его к другому элементу
- Добавить прослушиватель хода прослушивания
onLocationChange
в элемент браузера - Вызовите
loadURIWithFlags()
с требуемым URL-адресом и отправкой данных
Я ожидаю, что обработчик будет вызываться каждый раз после 4, но иногда он не работает (кажется, он застрял на тех же страницах).
Интересно, что если я обертываю 3 и 4 внутри setTimeout(..., 5000);
, он работает каждый раз.
Я также попытался перетасовать некоторые из шагов, но это не имело никакого эффекта.
Чем больше картинка: я бы хотел быть уверенно уведомлен, когда браузер contentDocument
- это только что загруженная страница (после перенаправления). Есть ли лучший способ сделать это?
Обновление. С тех пор я открыл ошибку в mogilla bug tracker с минимальным приложением xulrunner, отображающим это поведение, в случае, если кто-то хочет более внимательно посмотреть: https://bugzilla.mozilla.org/show_bug.cgi?id=941414