расширение firefox, jquery и доступ к документу - PullRequest
1 голос
/ 22 июня 2009

Я могу легко пройти через текущее окно, пока я нахожусь внутри функции pageLoad в моем расширении, используя content.document, но когда я пытаюсь получить к нему доступ в другой функции, вызываемой с помощью setInterval, я не могу получить доступ к content.document.

Я попробовал content.document, document.defaultView, window.content.document и, в основном, любую другую разумную комбинацию, которую я мог придумать.

пожалуйста, помогите. спасибо.

Ответы [ 2 ]

1 голос
/ 19 августа 2009

Я получил это для работы, получив объект документа из события, например, так:

   e.target.defaultView.document

Объект события доступен в любой функции прослушивателя событий - например, вы можете захватывать событие загрузки документа, выполнив что-то вроде этого:

   var appcontent = window.document.getElementById('appcontent');
   appcontent.addEventListener('DOMContentLoaded', onPageLoad, false);

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

Чтобы иметь возможность доступа к объекту документа в другом месте, установите глобальную переменную, указывающую на это. И если вы используете jQuery, передайте его в качестве необязательного второго аргумента функции $ (т. Е. Контексту, в котором работает jQuery).

0 голосов
/ 23 июня 2009

Я не уверен, почему это не сработает (мне нужно увидеть больше кода). Однако альтернативой может быть использование gBrowser.selectedBrowser.contentDocument.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...