Sto tentando di convertire uno script Greasemonky ad un'estensione per Firefox e sto cercando di fare la mia estensione allegare automaticamente un semplice script per qualsiasi pagina web in cui una nuova scheda viene aperta. Sto convertendo lo script da Greasemonkey perché mi piacerebbe sfruttare le preferenze avanzate e le opzioni di menu.Come posso accedere all'oggetto della finestra di una nuova scheda? [In un'estensione per Firefox]
ho accedere alla scheda utilizza questo:
var container = gBrowser.tabContainer;
container.addEventListener("TabOpen", tabAdded, false);
function tabAdded(event) {
var newtabwindow = event.target.____ //I don't know what goes here
//attach script to newtabwindow
}
e il mio obiettivo è quello di aggiungere lo script per il documento nella nuova scheda una volta carica di utilizzare questa funzione:
function scriptrunner(targetwindow) {
var myScript = targetwindow.content.document.createElement('script');
myScript.type = 'text/javascript';
myScript.setAttribute('src','chrome://addonname/content/addonscript.js');
targetwindow.content.document.getElementsByTagName('head')[0].appendChild(myScript);
}
questa funzione è bene per collegare lo script alla pagina corrente quando collegato a un pulsante della barra degli strumenti con oncommand = "scriptrunner (finestra)", ma non so come potrei accedere alla finestra nella scheda appena aperta, o se dovrei ritagliare il finestra dall'equazione e accedere al documento in un altro modo.
fa 'var = newtabwindow event.target;' non funziona? – Sukima
Dalla tua descrizione sembra che il Mozilla [Add-on SDK] (https://addons.mozilla.org/en-US/developers/docs/sdk/latest/) è più adatto per quel lavoro. È possibile utilizzare [pagina-mod] (https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/page-mod.html) per fissare la trascrizione dei contenuti a qualsiasi pagina web in cui l'URL corrisponde a un modello, o utilizzare il modulo [linguette] (https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/tabs.html). – ZER0