[HTML/JS] Resizen iframe aan de hand van source

Pagina: 1
Acties:
  • 160 views sinds 30-01-2008
  • Reageer

  • Schonhose
  • Registratie: April 2000
  • Laatst online: 21-04 08:52

Schonhose

Retro Icoon

Topicstarter
Ik ben even aan het uitzoeken hoe ik een iframe dynamisch kan resizen en nu heb ik een leuke oplossing gevonden op MSDN

Ik heb de code wat aangepast:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<HTML>
<HEAD>
<SCRIPT LANGUAGE=javascript>
<!--
function reSize()
{
    var oBody   =   ifrm.document.body;
    var oFrame  =   document.all("ifrm");
        
    oFrame.style.height = oBody.scrollHeight + (oBody.offsetHeight - oBody.clientHeight);
}
//-->
</SCRIPT>
</HEAD>
<BODY onload=reSize()>
    <iframe onresize=reSize() id=ifrm src=test.html></iframe>
</BODY>
</HTML>


En dit werkt perfect in IE, alleen niet in Mozilla. Wat ik nu niet snap is dat het niet in Mozilla werkt.....

* Schonhose is puzzled....

Ik heb het even on-line gezet.

[ Voor 16% gewijzigd door Schonhose op 23-10-2003 11:22 ]

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Wellicht dat je hier de juiste informatie vandaan kan halen aangaande het gebruik van iframe in Mozilla

  • Johnny
  • Registratie: December 2001
  • Laatst online: 23-04 11:51

Johnny

ondergewaardeerde internetguru

document.all werkt niet in Mozilla.

Als je in de Javascript Console van Mozilla kijtk zie je wara het mis gaat.

gebruik document.getElementById("")

Verder is het altijd wel zo verstandig om aanhaligstekens om attributen te zetten in je HTML code.

[ Voor 76% gewijzigd door Johnny op 22-10-2003 11:06 ]

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • Schonhose
  • Registratie: April 2000
  • Laatst online: 21-04 08:52

Schonhose

Retro Icoon

Topicstarter
Ok, bedankt Johnny! Dat was een goede tip (van die JavaScript Console).

Alleen ben ik te weinig bekend met de door jou voorgestelde properties om er een werkende voorbeeld van te krijgen. Kun je een voorbeeldje geven die ik dan verder kan uitwerken?

[edit]
Ik heb nu in de javascript functie het volgende aangepast:

document.getElementById("ifrm").style.height = document.getElementById("ifrm").scrollHeight + (document.getElementById("ifrm").offsetHeight - document.getElementById("ifrm").clientHeight);

Dit werkt niet volledig. De iframe wordt groter, maar nog niet wat ik wil. :? En de errors uit de console zijn verdwenen.

[edit2]
en in IE werkt het nu niet meer....

[ Voor 58% gewijzigd door Schonhose op 22-10-2003 11:34 ]

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • Schonhose
  • Registratie: April 2000
  • Laatst online: 21-04 08:52

Schonhose

Retro Icoon

Topicstarter
Goed, ik ga nu een andere aanpak volgen.

Ik laat de iframe vallen en gooi alles in een div via een include:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
switch ($page) {
    case "news":
        include('news.txt');
        break;
    case "about":
        include('about.txt');
        break;
    case "contact":
        include('contact.txt');
        break;
    default:
        include('start.txt');
}
?>


Dit lijkt me de meest cross-browser compatible oplossing.

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • Possstema
  • Registratie: Juli 2002
  • Laatst online: 10-03 22:48
Volgens dreamweaver mx 2004 moet er ook nog type="text/javascript" in de script tag staan. Ik weet niet of je er wat aan hebt of dat het nu wel werkt.
Pagina: 1