2009-08-27 18 views
5

Ho creato uno script Greasemonkey che gira bene nell'editor firebug, con le specifiche di Greasemonkey rimosse, ma non quando provo a comprimerlo come un userscript. La console degli errori di Firefox sta segnalando che un iframe che sto cercando di utilizzare non è definito.iframe non definito nello script Greasemonkey

ho tagliato l'userscript verso il basso per un caso almeno dove dovrebbe essere la stampa il codice HTML iframe nella console Firebug, e lo fa quando viene eseguito nell'editor Firebug, ma non funziona come un userscript:

// ==UserScript== 
// @name   Movies 
// @include  http://*.princecharlescinema.com/* 
// @include  http://princecharlescinema.com/* 
// ==/UserScript== 

// stop script loading multiple times 
if (top !=self) return; 

var iframeHTML = window.frames['iframe2'].document.documentElement.innerHTML; 
unsafeWindow.console.log(iframeHTML); 

An example page the script is intended for

Se è di qualche utilità il senso dello script completo è raccolgo tutti i tag td da questo iframe, ottenere alcune informazioni da loro, e quindi inserire qualche nuovo html all'interno di alcuni degli stessi tag td.

Qualsiasi aiuto sarebbe apprezzato.

risposta

0

forse avete bisogno di aspettare per DOMFrameContentLoaded

+0

Ho provato ad utilizzare un timer lungo, ma il problema non è con un certo contenuto all'interno del iframe non essere pronti, ma Greasemonkey si comporta come il tag iframe vero sé non esiste . – aston

+0

Testare un lungo timer e identificare il frame in base alla posizione dell'array, [2], invece del suo attributo name ha funzionato. DOMFrameContentLoaded è una soluzione migliore di un setTimeOut. – aston

Problemi correlati