[CSS] over laten nemen door iframe

Pagina: 1
Acties:

  • 6bit
  • Registratie: Februari 2002
  • Laatst online: 19-06-2022
ik heb een pagina met daarin 1 iframe

kan ik ervoor zorgen dat de iframe de CSS overneemt van de parent zeg maar?

en ik las ergens anders dat het ook zonder iframe moet kunnen door een div met overflow te maken in de CSS, maar hoe zorg ik dan dat het menu in de Div laadt of kan ik dat gewoon bij target= instellen?

the things we fear most have already happened to us


  • Zoefff
  • Registratie: September 2001
  • Laatst online: 13-05 10:16

Zoefff

❤ 

Je moet in de pagina die je in het iframe zet gewoon dezelfde CSS definieren als in de rest van je pagina's.


FotoblogWerkaandemuur.nlMoestuincursus.nlTwitter


  • 6bit
  • Registratie: Februari 2002
  • Laatst online: 19-06-2022
maar de CSS van de pagina waar de iframe in staat verschilt dus hij moet die van de parent overnemen..

the things we fear most have already happened to us


  • Zoefff
  • Registratie: September 2001
  • Laatst online: 13-05 10:16

Zoefff

❤ 

Dan pas je de CSS van de pagina in het iframe toch aan? Of laad je er een pagina in die niet op jou webserver (of iig niet onder jouw beheer) staat?

Voor zover ik weet is het niet op een normale manier mogelijk om de CSS over te laten nemen. Misschien met Javascript, maar ik geef je weinig hoop.


FotoblogWerkaandemuur.nlMoestuincursus.nlTwitter


  • 6bit
  • Registratie: Februari 2002
  • Laatst online: 19-06-2022
Het moet mogelijk zijn, maar ik weet dus niet hoe......

the things we fear most have already happened to us


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Hetgeen wat reeds is voorgesteld door Zoefff lijkt mij wel de oplossing. Dit kan je natuurlijk ook doen middels een stukje javascript door gewoon een style toe te voegen aan de pagina in de IFRAME.

Er is niet zoiets als overerving voor een iframe. Let overigens wel op dat het (naar ik meen) niet op gaat voor pagina's in de iframe welke niet op je eigen domein staan...

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 25-02 11:17

Clay

cookie erbij?

Je haalt een paar dingen door elkaar denk ik. Een iframe is een los document, die heeft zijn eigen stylesheet include nodig, en kan dat niet zomaar erven van een ander document. Voodrdeel is dat je daar dus een url in kan laden terwijl de parent niet gerefreshd wordt.

Dat overflow verhaal is overflow:auto; en werkt op een block level element met een gedefinieerde width en/of heigth. Het leuke daarvan is dat het automatisch dezelfde css heeft (omdat het in hetzelfde document zit) en je ook het scrollen van oldskool frames kan gebruiken zonder ranzige framesets, maar zonder javascript kan je daar dus niet zomaar een losse url in laden.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • 6bit
  • Registratie: Februari 2002
  • Laatst online: 19-06-2022
en op wat voor manier met javascript is het dan mogelijk om wel een url in bijv een <div> te laden en dus niet in een iframe?

the things we fear most have already happened to us


  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Dan kom je op serverside includes of op het hiden en weer terug toveren van div's.
Zie ook: ALA

  • Morrar
  • Registratie: Juni 2002
  • Laatst online: 13-05 18:40
6bit schreef op maandag 28 februari 2005 @ 13:34:
en op wat voor manier met javascript is het dan mogelijk om wel een url in bijv een <div> te laden en dus niet in een iframe?
Je kan ook een hidden frame gebruiken en daarvan de body.innerHTML kopieren naar de div.innerHTML... netjes? ach ;)

Edit: voorbeeld in ranzige code :)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
    <head>
        <script language="Javascript" type="text/javascript">
            function CopyContent(oHFrame) {
                if(oHFrame.document) { sHTML = document.frames[oHFrame.id].document.body.innerHTML; }
                else if (oHFrame.contentDocument) { sHTML = oHFrame.contentDocument.body.innerHTML; }
                else { self.alert("No document loaded..."); return; }
                oCDiv = document.getElementById("ContentDiv");
                oCDiv.innerHTML = sHTML;
            }
        </script>
    </head>
    <body>
    <iframe id="HiddenFrame" src="test2.html" style="display:none;" onload="CopyContent(this);"></iframe>
    <div id="ContentDiv" style="width:200px; height:200px; border: 1px solid black; overflow: auto;">Loading...</div>
    </body>
</html>


Edit2: voorzien van ranzige IE-fix

[ Voor 85% gewijzigd door Morrar op 28-02-2005 18:07 ]

Pagina: 1