Как да пренасоча от код за добавки на Firefox?

Създавам добавка за Firefox. Прикачих слушател на събития към връзки с клас. При щракване върху връзка трябва да пренасоча потребителя към друга страница (за предпочитане отделен раздел) с някои допълнителни параметри, добавени към нея като низ на заявка. Как мога да постигна това от добавката? Опитах да задам location.href, но тя отваря целта като изскачащ прозорец (имам предвид прозорец без лента с инструменти и лента с менюта).

Това е функцията, която се задейства при lck събитие:

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) {
    var 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);
        function toFb()
        {
            var Ele2=doc.getElementsByClassName('js-action-reply')[0].parentNode.parentNode.parentNode.parentNode.children[1];
            doc.location.href="http://www.lendingstream.co.uk/?txt="+Ele2.innerHTML;
        }
}
}
window.addEventListener("load", function load(event){
window.removeEventListener("load", load, false); //remove listener, no longer needed
myExtension.init();
},false);

person Vivek S    schedule 08.10.2012    source източник
comment
doc.location.href определено няма да отвори изскачащи прозорци - променя местоположението на документа. Какво е doc във вашия примерен код?   -  person Wladimir Palant    schedule 08.10.2012
comment
@WladimirPalant публикува пълния код... моля, chk   -  person Vivek S    schedule 08.10.2012


Отговори (2)


Ако трябва да отворите страница в нов раздел, трябва да отворете раздел:

gBrowser.addTab("http://www.lendingstream.co.uk/?txt=" + encodeURIComponent(Ele2.innerHTML));

Имайте предвид, че използвах encodeURIComponent() функция, за да се уверя, че параметърът е правилно кодиран.

person Wladimir Palant    schedule 08.10.2012

Опитвали ли сте това?

window.open('http://www.lendingstream.co.uk/?txt='+Ele2.innerHTML);

Работи от разширения в chrome и от всяка нормална страница, когато използвате Chrome, IE или FF

person enhzflep    schedule 08.10.2012