Kuinka soveltaa CSS:ää iframeen?

Minulla on yksinkertainen sivu, jossa on joitakin iframe-osioita (RSS-linkkien näyttämiseen). Miten voin soveltaa samaa CSS-muotoa kuin pääsivulla iframe-osiossa näytettävään sivuun?

Jos iframen sisältö ei ole täysin hallinnassasi tai jos haluat käyttää sisältöä eri sivuilta eri tyyleillä, voit yrittää manipuloida sitä JavaScriptin avulla.

var frm = frames['frame'].document;
var otherhead = frm.getElementsByTagName("head")[0];
var link = frm.createElement("link");
link.setAttribute("rel", "stylesheet");
link.setAttribute("type", "text/css");
link.setAttribute("href", "style.css");
otherhead.appendChild(link);

Huomaa, että käyttämästäsi selaimesta riippuen tämä saattaa toimia vain saman verkkotunnuksen tarjoamilla sivuilla.

Kommentit (2)

Useimmat selaimet käsittelevät iframea yleisesti kuin eri HTML-sivua. Jos haluat soveltaa samaa tyylitaulukkoa iframe-kehyksen sisältöön, viittaat siihen vain siinä käytetyiltä sivuilta.

Kommentit (1)

Jos hallitset sivua iframe-kehyksessä, kuten hangy sanoi, helpoin tapa on luoda yhteinen CSS-tiedosto, jossa on yhteisiä tyylejä, ja linkittää siihen html-sivuilta.

Muuten on epätodennäköistä, että pystyt dynaamisesti muuttamaan sivun tyyliä ulkoiselta sivulta iframen sisällä. Tämä johtuu siitä, että selaimet ovat tiukentaneet kehysten välisen dom-skriptauksen suojausta, koska sitä voidaan käyttää väärin väärentämiseen ja muihin hakkerointeihin.

Tämä opetusohjelma voi antaa lisätietoja iframe-skriptauksesta yleensä. About cross frame scripting selittää tietoturvarajoitukset IE:n näkökulmasta.

Kommentit (0)