17

Ci sono molte domande/risposte sull'iniettare javascript nella pagina del documento. Quello che voglio veramente è iniettare javascript in un iframe all'interno del documento.Inject javascript in un iframe usando l'estensione chrome

Per essere chiari, quell'iframe non appartiene allo stesso dominio del documento. Ho già provato attraverso la console (non attraverso l'estensione) ma non è stato in grado di farlo.

Sono molto curioso se questo è qualcosa che può essere fatto utilizzando un'estensione chrome?

risposta

38

Sì, è possibile utilizzare content_scripts proprietà in manifest.json come questo:

"content_scripts": [{ 
    "matches": ["http://*/*", "https://*/*"], 
    "js": ["content_frame.js"], 
    "all_frames": true 
}], 

Impostando all_frames a true si inietta/include content_frame.js file javascript in alto del documento e tutti iframe. Nel caso in cui è sufficiente Javascript iniettato in iframe, ma non in cima documento che si può controllare dentro il file content_frame.js in questo modo:

if (parent === top) { 
    // here you can put your code that will run only inside iframe 
} 
+1

Sono solo un principiante, ho codificato solo un'estensione fino a data. Avete un esempio completo o qualsiasi collegamento che posso seguire. –

+0

@coding_idiot Ho ampliato la mia risposta un po 'di più e aggiunto il link alla documentazione su come usare content_scripts. Spero sia più chiaro ora? –

+1

Puoi usare 'include_globs' e' exclude_globs' per targetare fotogrammi specifici invece di fare un'istruzione if nel tuo script: https://developer.chrome.com/extensions/content_scripts#include_globs – jkupczak

Problemi correlati