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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

Разработка » Вопросы (и ответы) по разработке расширений » 22-01-2010 10:28:33

Оказывается я ломился в обьект который содержит выпадающее меню, а не страницу.

Для доступа к текущей странице можно использовать следующий код

var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                   .getInterface(Components.interfaces.nsIWebNavigation)
                   .QueryInterface(Components.interfaces.nsIDocShellTreeItem)
                   .rootTreeItem
                   .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                   .getInterface(Components.interfaces.nsIDOMWindow);

    var body = mainWindow.getBrowser().selectedBrowser.contentDocument.body;
    getSelection().selectAllChildren(body);
    var doc = window.getSelection().toString();/*Имя doc важно возможно это переход между страницами*/
       
    var elems = body.getElementsByTagName('td');/*Получаем все элементы где тег <td> */

Пока для меня это осталось магическим кодом.

Разработка » Вопросы (и ответы) по разработке расширений » 14-01-2010 15:49:21

Зравствуйте.
Я пишу первое свое расширение и с JavaSkript-ом только сейчас познаокмился.

Оно по действию пользователя будет анализировать текущую страницу и на другой тсранице выдавать результат.

Делаю это все на основе ReloadEvery 3.6.2 (https://addons.mozilla.org/en-US/firefox/addon/115)
так как с нуля создать пока не получилось.
Там в файле reloadeveryOverlay.xul я добавил
<menuitem id="test_id"  label="test_label;"  type="checkbox" oncommand="org.mozdev.reloadevery.ShowMainForm(document)"/>     

В результате получился в выпадающее меню один пункт который, который вызывает функцию с обработкой из прекрепленнго .js файла

Я все никак не могу получить доступ к данным на текущей html странице.

Следующие команды нормально выдают заголовок, адресс текущей страницы
alert(navigator.appName);
alert(window.document.title);
alert(window.content.location);
   
Но вот все попытки получить доступ к BODY или каким другим элементам закончились ничем.

alert("document.body.className="+document.b

Board footer

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