Avatar billede l3kris Nybegynder
03. december 2006 - 12:01 Der er 8 kommentarer og
1 løsning

Resize iframe script er inkonsistent i sin udførsel i IE

Jeg har en side med tre iframes, som ved onload og onresize bliver tilpasset sidens størrelse. I FF fungerer det efter hensigten, men i IE6 bliver den ene iframe forkert resized.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

function resize_frame(rammeID)
{
var <?php
if($br->Name != 'MSIE') {
    echo 'height=window.innerHeight;';
} else {
    echo 'height=document.body.clientHeight;';
}
?>
  document.getElementById(rammeID).style.height=parseInt(height-document.getElementById(rammeID).offsetTop-2)+"px";   
}

<iframe src="content.php" id="content" name="content" frameborder="0" onload="resize_frame('content')"></iframe>
<iframe src="venstremenu.php" id="venstre" frameborder="0" onload="resize_frame('venstre')" style="overflow:hidden;">
</iframe>
<iframe src="hojremenu.php" id="hojre" frameborder="0" onload="resize_frame('hojre')" style="overflow:hidden;">
</iframe>

Det er "content"-iframen, der ikke opfører sig ordentligt - den burde være 2px fra bunden som de andre.
Javascript-linien, der giver problemer, er:
'height=document.body.clientHeight;'
og beskeden er: objekt er obligatorisk.

Hvad gør jeg?
Avatar billede l3kris Nybegynder
03. december 2006 - 12:51 #1
siden kan ses på http://www.fehedojo.dk/JCJ
Avatar billede thesurfer Nybegynder
03. december 2006 - 13:44 #2
Sådan: echo 'height="...";';
Avatar billede thesurfer Nybegynder
03. december 2006 - 13:44 #3
Nah.. det er mig der sover..

Det er *ikke* echo 'height="...";';
Avatar billede mcardle Nybegynder
03. december 2006 - 15:47 #4
Har du prøvet at smide et script-tag udenom, eller du har måske bare ikke taget den med...? Ellers er det sikkert fordi du ikke har single-quotes i din getElementById()
Avatar billede mcardle Nybegynder
03. december 2006 - 15:48 #5
Hvilken id har du der hedder rammeID?
Avatar billede l3kris Nybegynder
04. december 2006 - 17:16 #6
Hej Ulrik (mcardle), rammeID er navnet på den variabel, som jeg arbejder med i scriptet. Ved onload kalder jeg scriptet resize_frame og angiver samtidig, hvilken ramme, der skal arbejdes med, fx 'venstre'. Internt i scriptet referer 'rammeID' således til 'venstre'. Derfor er der ikke single-quotes, da det referer til variablen.

script-tags er ikke medtaget af pladshensyn, ligesom head- og body-tags ikke er.
Avatar billede l3kris Nybegynder
04. december 2006 - 17:18 #7
Jeg fandt i øvrigt ud af, at det var style="overflow:hidden", der var årsag til uregelmæssigheden.

Men 'height = document.body.clientHeight' melder stadig fejl.
Avatar billede mcardle Nybegynder
05. december 2006 - 08:21 #8
Brug noget andet end height, tror det er et reserveret ord.
Avatar billede l3kris Nybegynder
09. december 2006 - 06:03 #9
Det gør ingen forskel, om jeg skriver height eller h.

Så'n er det nok bare.
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