Страницы: 1
спасибо за этот вариант, держите в репу. я пытался сам сделать нечто похожее, но что-то не получалось, уже не помню что.
а возможно ли при таком подходе реализовать механизм обратной связи? ну чтобы можно было еще и дочерний поток уведомлять из главного об определенных событиях?
эмм.. работает, но немного не так как я ожидал. подскажите, а это вообще реально, чтобы из дочернего потока можно было выполнить такие команды как например alert("blabla") или gBrowser.contentWindow.location = "http://google.com" ?
вот например я из потока получаю элемент <input type="text">, находящийся на открытой странице браузера, и ставлю ему element.value = "hello". запускаю, значение элемента меняется на hello, но сразу после этого браузер повисает. то же самое с alert и window.location. может я зря мучаюсь, пытаясь найти решение, и такое взаимодействие между потоками невозможно?
спасибо, именно такой пример нужен был! ;)
Требуется пустить в бекграунде новый поток. Сделал как описано здесь: https://developer.mozilla.org/en/Code_snippets/Threads
Все работает, но при первой попытке обратиться из потока к DOM, браузер сразу вешается. Что собственно логично, и об этом на этой странице написано.
Копаю дальше, нахожу такую статью: http://forums.mozillazine.org/viewtopic.php?p=2431475&sid=7ed44ffe653b76ee4738f37eb6b07ad0
т.е. можно синхронизировать поток в основным через nsIProxyObjectManager. но тут как я понимаю описан старый механизм, "@mozilla.org/event-queue-service;1" уже нету, "@mozilla.org/thread;1" тоже.
Кто подскажет аналог для современного браузера?
Доброе время суток.
Мне для расширения требуется выяснить такой нюанс.
Во вкладке открыта страница. Пользователь кликает на ссылку внутри нее, что вызывает переход на другую страницу. Это вариант номер один.
Второй вариант. Также во вкладке открыта страница. Но пользователь набирает URL в адресной строке новый URL и жмет Enter (или кликает на ссылку из избранного) - это второй вариант.
Вопрос: можно ли в событии onload (onbeforeunload, pageshow, pagehide, onlocationchange, whatever...) в момент перехода отличить первый вариант от второго? или реализовать это какими либо другими методами?
Страницы: 1