Страницы: 1
Всем привет. Помогите плз разобраться с проблемой при создании расширения под фокс, или подскажите где можно спросить совета.
Я пишу расширение, которое должно при нажатии на кнопку на тулбаре грузить определённую страницу, считывать с этой страницы данные из input'а и устанавливать их в настройки.
window.content.document.location = 'http://test2.ru/get_proxy.htm'; var sock = window.content.document.forms[0].elements[0].value; var pref= Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces. nsIPrefService); var tmp=sock.split(":"); pref.setIntPref("network.proxy.type", 1); pref.setCharPref("network.proxy.socks", tmp[0]); pref.setIntPref("network.proxy.socks_port", tmp[1]);
Т.е. как видно из кода, грузится страница с адресом сокса, этот адрес извлекается и устанавливается в настройки.
Но Тут такая проблема, что после выполнения кода
при обращении к window.content.document , возвращается не http://test2.ru/get_proxy.htm, а тот документ, который был открыт во время запуска скрипта Т.е. window.content.document.location изменяется, а скрипт продолжает работать не с уже новым документом, а с тем, который был открыт до этого. Подскажите плз как это можно обойти. Спасибо
Отсутствует
прежде всего, чтобы сменить адресс страницы нужно обращаться не к location, а к locahion.href.
далее. после изменения адреса страницы контент не будет доступен моментально, нужно дождаться загрузки страницы. пример можно найти тут
Отсутствует
Хм, ещё такая проблема: после смены настроек
pref.setIntPref("network.proxy.type", 1); pref.setCharPref("network.proxy.socks", tmp[0]); pref.setIntPref("network.proxy.socks_port", tmp[1]);
изменения не всегда вступают в силу. иногда фокс сразу после выполнения этого кода начинает работать через сокс, а иногда сокс прописывается в насройки, но на самом деле фокс работает не через сокс, а по старым насройкам И настройки вступают в силу только после перезапуска браузера Такое происходит через раз
Отсутствует
Страницы: 1