Страницы: 1
А потому что нужно уточнять, откуда нужно работать с открытой страничкой.
https://developer.mozilla.org/en-US/doc … ow.content
Я работаю из XUL файла. а каике еще есть враианты работы с DOM?
такое ощущение что форум мёртв, задавал такой же вопрос
Друзья, есть такая насущная необходимость.
Расширение должно мониторить открытые окна чата вконтакте и вносить изменения в них через определённый интервал (функция псле выполнения снова вызывает себя)
вот инициализация расширения, с функцией vkPageDeCrypt();
var myExtension = { init: function() { // The event can be DOMContentLoaded, pageshow, pagehide, load or unload. if(gBrowser) {gBrowser.addEventListener("DOMContentLoaded", this.onPageLoad, false);} }, onPageLoad: function(aEvent) { const doc = aEvent.originalTarget; // doc is document that triggered the event var urlvk = doc.location.href; if (urlvk.indexOf('http://vk.com')!=-1 || urlvk.indexOf('https://vk.com')!=-1) { vkPageDeCrypt(); } } } window.addEventListener("load", function load(event){ window.removeEventListener("load", load, false); //remove listener, no longer needed myExtension.init(); },false);
но из функции vkPageDeCrypt не получается получить доступ к doc
как это сделать пр
1) Как добавить функцию в документ из расширения?
2) Как вызвать функцию в расширении из документа?
Как из расширения Firefox обратится к переменной окна, аналогично обращению из JS документа window.testvar=1;
13-07-2013 13:42:21
пробую так
в расширении
var winSet = window.top.getBrowser().selectedBrowser.contentWindow;
winSet.testvar=1;
в документе
alert(window.testvar);
выдаёт ошибку
Error: TypeError: window.testvar is undefined
13-07-2013 14:04:53
UPD: проблема решилась добавлением winSet.wrappedJSObject.
благодарю! сработало = )
Надо создать обработчик загружаемой старницы, чтобы стоял на ней таймер, или Listener, и через какоето время запускал функцию с доступом к телу страницы
Использую такой пример для обработки страницы
[code]
var myExtension = {
init: function() {
// The event can be DOMContentLoaded, pageshow, pagehide, load or unload.
if(gBrowser) gBrowser.addEventListener("DOMContentLoaded", this.onPageLoad, false);
},
onPageLoad: function(aEvent) {
const doc = aEvent.originalTarget; // doc is document that triggered the event
var win = doc.defaultView; // win is the window for the doc
// test desired conditions and do something
// if (doc.nodeName == "#document") return; // only documents
// if (win != win.top) return; //only top window.
// if (win.frameElement) return; // skip iframes/frames
alert("page is loaded \n" +doc.location.href);
}
}
window.addEventListener("load", function load(event){
window.
ниужели нет вариантов без прослушивания?)
думаю както чреез tab реализовано
Есть ли переменные которые могут присутствовать в JS расширения, и к которым можно обратится из JS функции, которая встраивается в HTML документ?
Например в JS расширения пишется var Test; то как обратится к этой переменной из HTML страницы?
спасибо.
Страницы: 1