Domanda

Svilupperò un'estensione di Firefox che dovrebbe mettere un pulsante nelle pagine caricate, quando viene trovato il tag: <input type="file" ... > ed è stato selezionato un file.

Allo stesso modo, penso che la barra degli strumenti di skype faccia una cosa simile: quando un sito web contiene un numero di telefono, l'estensione di Skype lo converte automaticamente in un pulsante su cui è possibile fare clic per chiamare i contatti di skype.

Sono su un sistema GNU / Linux e sfortunatamente l'estensione skype non funziona su versioni Linux di Firefox / skype, quindi non posso nemmeno provare a decodificare nulla ...

L'estensione firefox contiene il file overlay.js: questo file contiene la logica principale per l'estensione. Qui posso trovare <=> nodi semplicemente con questo codice:

onFileChosen: function(aEvent) {
var input = aEvent.explicitOriginalTarget; 
if(input.type=="file"){
    alert(input.value); }
}

window.addEventListener("change", function(e) {xpitest.onFileChosen(e)},false);

Quindi, quando è stato scelto un file, appare una finestra di avviso che mostra il nome del file.

Ma come posso inserire un pulsante nella pagina quando è stato scelto un file?

Ho provato con i vari document.parentNode e simili, ma nulla sembra funzionare.

O è possibile che non riesca a inserire elementi nella pagina caricata?

Grazie

È stato utile?

Soluzione

Dal contesto di Chrome, è possibile ottenere il documento di contenuto corrente (ad esempio la pagina con il selettore di file) utilizzando top.window.content.document. A quel punto, è proprio come il tuo JS è in esecuzione sulla pagina. Se ciò non aiuta, pubblica il tuo codice con quante più informazioni possibili. Vedi anche Lavorare con Windows in codice Chrome .

E puoi sicuramente iniettare cose nella pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top