Полезная информация

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

№117-03-2008 13:21:51

Annalee
Участник
 
Группа: Members
Зарегистрирован: 17-03-2008
Сообщений: 3
UA: Opera 9.2

Проблема с разработкой расширения под фокс

Всем привет. Помогите плз разобраться с проблемой при создании расширения под фокс, или подскажите где можно спросить совета.
Я пишу расширение, которое должно при нажатии на кнопку на тулбаре грузить определённую страницу, считывать с этой страницы данные из 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.location = 'http://test2.ru/get_proxy.htm';

при обращении к window.content.document , возвращается не http://test2.ru/get_proxy.htm, а тот документ, который был открыт во время запуска скрипта :( Т.е. window.content.document.location изменяется, а скрипт продолжает работать не с уже новым документом, а с тем, который был открыт до этого. Подскажите плз как это можно обойти. Спасибо :)

Отсутствует

 

№217-03-2008 13:45:17

TLemur
Забанен
 
Группа: Members
Зарегистрирован: 18-10-2004
Сообщений: 1764
UA: Firefox 2.0

Re: Проблема с разработкой расширения под фокс

Annalee

Если я правильно понимаю, window.content.document.location - только для чтения.
Надо вызывать loadURL().

Отсутствует

 

№317-03-2008 18:24:25

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 2.0

Re: Проблема с разработкой расширения под фокс

прежде всего, чтобы сменить адресс страницы нужно обращаться не к location, а к locahion.href.
далее. после изменения адреса страницы контент не будет доступен моментально, нужно дождаться загрузки страницы. пример можно найти тут

Отсутствует

 

№419-03-2008 00:49:08

Annalee
Участник
 
Группа: Members
Зарегистрирован: 17-03-2008
Сообщений: 3
UA: Opera 9.2

Re: Проблема с разработкой расширения под фокс

Спасибо за советы. Помогло использование appcontent.addEventListener("DOMContentLoaded", this.onPageLoad, true);

Отсутствует

 

№519-03-2008 21:25:38

Annalee
Участник
 
Группа: Members
Зарегистрирован: 17-03-2008
Сообщений: 3
UA: Opera 9.2

Re: Проблема с разработкой расширения под фокс

Хм, ещё такая проблема: после смены настроек

Выделить код

Код:

pref.setIntPref("network.proxy.type", 1);
    pref.setCharPref("network.proxy.socks", tmp[0]);
    pref.setIntPref("network.proxy.socks_port", tmp[1]);

изменения не всегда вступают в силу. иногда фокс сразу после выполнения этого кода начинает работать через сокс, а иногда сокс прописывается в насройки, но на самом деле фокс работает не через сокс, а по старым насройкам :( И настройки вступают в силу только после перезапуска браузера :( Такое происходит через раз

Отсутствует

 

№620-03-2008 16:37:38

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508
UA: Sunrise 1.6

Re: Проблема с разработкой расширения под фокс

Annalee, а где Вы их меняете?

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]