Avatar billede sbi Nybegynder
25. september 2002 - 22:31 Der er 5 kommentarer

CSS reference fra iframe

Hej DHTML nørder

Mit spg. er ganske enkelt:

Kan man på nogen måde henvise til sine CSS <style></style> fra et dokument der liger i en <iframe>?

<style></style> sektionen ligger i den samme fil som <iframe> er skrevet i, altså en henvisning til parent objektet i stedet for et filnavn...

/SBI
Avatar billede sbi Nybegynder
25. september 2002 - 22:33 #1
Har selv prøvet med at Parse indholdet ind på siden (under <style> sektionen)i stedet for en <iframe> med Microsoft.XMLHTTP parser.

Det fungerer udemærket med er lidt for sexet, hvis det kan lade sig gøre med mere traditionelle metoder ;-)

/SBI
Avatar billede jakoba Nybegynder
25. september 2002 - 22:40 #2
en iframe er sin egen uafhængige side, med sine egne style definitioner.
men du kan da bruge <link til at hente de samme stylesheets ind i modersiden som i din iframe.
Avatar billede sbi Nybegynder
25. september 2002 - 22:53 #3
Det går ikke!

<Style> sektioenen står på 'modersiden' og jeg ville gerne at de underliggende sider kan trække på den <style> sektion der ligger på parent dokumentet.

Det kan man da i andre sammenhænge, f.eks. kan man henvise til et <input> element på modersiden 'top.document.forms(x).elememts(x).value' Derfor tænkte jeg om man ikke har en <style> collection eller lignende i DOM, man kan henvise til.

/SBI
Avatar billede =maddog= Nybegynder
26. september 2002 - 17:43 #4
var head = document.getElementsByTagName('head').item(0);
var iframe_win = document.getElementById('iframe_id').contentWindow;
var inner_stylesheets = iframe_win.document.getElementsByTagName('style');
for (i=0;i!=inner_stylesheets.length;i++) {
  head.appendChild(inner_stylesheets[i].cloneNode(true));
}

hvor iframe_id er id på din iframe.
Dette er overhovedet ikke testet på nogen måde, men skal opfattes som lidt inspiration til at få nye idéer.
Avatar billede =maddog= Nybegynder
26. september 2002 - 17:47 #5
ok jeg fik ikke læst det sidste.
så skal du bruge head fra iframen og sætte dit stylesheet ind.
var stylesheets = document.getElementsByTagName('style');
var iframe_win = document.getElementById('iframe_id').contentWindow;
var inner_head = iframe_win.document.getElementsByTagName('head').item(0);
for (i=0;i!=stylesheets.length;i++) {
  inner_head.appendChild(stylesheets[i].cloneNode(true));
}

Eller sådan cirka da i det mindste.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester