2 Condivisioni

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.

Nota
Questo metodo non funziona con i contenuti tra domini. È necessario impostare l’intestazione CORS appropriata, ma non è consigliabile a causa di rischi per la sicurezza.,

Scritto da

Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *