Друзья, есть такая насущная необходимость.
Расширение должно мониторить открытые окна чата вконтакте и вносить изменения в них через определённый интервал (функция псле выполнения снова вызывает себя)

вот инициализация расширения, с функцией 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
как это сделать правильно, может другие какие пути?

Ммм... следует начать с чего-нибудь типа http://learn.javascript.ru/.
Что мешает передать doc в vkPageDeCrypt()?

И вообще, для такого проекта лучше использовать AddonSDK. А конкретно - засунуть код в контент-скрипт через page-mod.