iFrame è un modo molto conveniente per visualizzare un contenuto esterno sulla tua pagina web. Tuttavia, è un po ‘ complicato se si desidera aggiungere o modificare lo stile CSS esistente. Non puoi semplicemente aggiungere CSS nella pagina genitore / wrapper. In questo tutorial, vi mostreremo come utilizzare JavaScript per iniettare CSS in iFrame.
Nello snippet sottostante, una volta caricato tutto, otterremo l’elemento iFrame per ID. Quindi prendi contentDocument e inietti i nostri stili in iFrame usando innerHTML.,
Oppure puoi farlo con jQuery.
$("#myiFrame").on("load", function() { let head = $("#myiFrame").contents().find("head"); let css = '<style>/********* Put your styles here **********</style>'; $(head).append(css);});
Esempio
Ad esempio, ecco la pagina del tutorial 3D CSS Progressbar che vogliamo aggiungere alla nostra usando iframe.
<iframe width="1024px" height="768px" src="http://127.0.0.1:5501/bar"></iframe>
Supponiamo di voler cambiare la lunghezza della barra di avanzamento al 45%. Sfortunatamente, non possiamo fare qualcosa di simile dal nostro CSS genitore.
.bar { width: 45%; /* This will not work */}
Proviamo a usare JavaScript. È importante che sia necessario attendere fino a quando l’iFrame è stato caricato prima di poter iniettare il CSS., In questo caso, inseriremo il codice nel listener di eventi onload.
Ecco il risultato.
Aggiunta di file CSS all’iFrame
È possibile aggiungere un intero file CSS invece di iniettare stili separati creando link e aggiungerlo alla testa dell’iframe.