Как получить доступ к данным веб-страницы из расширения Firefox? - PullRequest
2 голосов
/ 01 октября 2009

Мне удалось получить собственное базовое расширение, работающее в Firefox.

Что я хочу сделать дальше:

  1. Проверьте, находится ли пользователь на нужной веб-странице
  2. Если да: проверьте страницу на каждом постбэке на наличие скрытого элемента, содержащего строку
  3. Если найдено: запустите внешнее приложение с строкой параметром

У меня есть некоторый опыт работы с javascript на веб-страницах, но я не знаю, как зарегистрировать свой скрипт для запуска на каждой веб-странице, открытой в Firefox, и как получить доступ к элементам на странице.

Подсказки о том, с чего начать, будут оценены ...

РЕДАКТИРОВАТЬ: Я понял, как запустить мой код на каждой странице:

addEventListener("DOMContentLoaded", doSomething, false);

EDIT2: Я мог получить доступ к данным страницы с помощью event.originalTarget в обработчике и запускать приложения с помощью Components.interfaces.nsIProcess

1 Ответ

2 голосов
/ 05 октября 2009

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

Ваш обход DOM может быть выполнен разными способами. Тем не менее, вот простой дубль

var inputs = document.getElementsByTagName("input");
for (var idx=0; idx<inputs.length; idx++){
    var tp = inputs[idx].attributes['type'].value
    console.log(tp);
    if (tp == 'hidden'){
       // grab your text at here and launch the app.
    }
}

запуск внешнего приложения по этому посту

var file = Components.classes["@mozilla.org/file/local;1"]
                     .createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("c:\\myapp.exe");
file.launch();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...