Avatar billede andersdp Nybegynder
19. juli 2004 - 16:50 Der er 6 kommentarer og
1 løsning

Script virker ikke i Opera

Bruger nedenstående kode til at resize en iframe.
Det virker i IE og Mozilla browsere, men ikke i Opera.

ie = (document.getElementById) ? 1: 0;
function checkHeight(ifrm)
{
  ifrm.style.height = (ie) ? self[ifrm.name].document.body.scrollHeight : self[ifrm.name].document.height;
}

Mon ikke der findes en løsning på det?
Avatar billede roenving Novice
19. juli 2004 - 20:48 #1
Den jeg har brugt ser sådan ud:

<script language="javascript" type="text/javascript">
function ifrHeight(){
var t=(window.innerHeight)?window.innerHeight:document.body.scrollHeight;
if(parent!=window)parent.document.getElementById('IFRAMEID').style.height=t+4+'px';
}
</script>

<body onload="ifrHeight()">

Den ligger så i iframen, som skal have id="IFRAMEID" i iframe-tagget, det kan selvfølgelig ændres, hvis det gøres begge steder !-)
Avatar billede andersdp Nybegynder
20. juli 2004 - 19:11 #2
Hmm, det virker ikke...

Er det mig eller er Opera ikke lidt for sig selv? Synes ofte jeg døjer med den som den eneste... Udvikler selvfølgelig mod IE, og tilretter bagefter....
Avatar billede roenving Novice
21. juli 2004 - 12:49 #3
Det kan faktisk bedre betale sig at udvikle mod f.eks. Mozilla eller Opera og så bagefter lave work-arounds på de fejl, som er indbygget i IE !o]

IE er nemlig umiddelbart den browser som har flest proprietære muligheder, hvorfor man sagtens kan komme ud for, at man simpelthen må starte forfra med en funktionalitet, hvis man kræver at den skal virke i andre browsere ...

-- og jeg har ikke afprøvet ovenstående mod Opera, hvorfor jeg også bare lagde den til afprøvning ...

-- men umiddelbart virker det mærkeligt at Opera ikke kender scrollHeight (eller evt. innerHeight !-)
Avatar billede andersdp Nybegynder
13. august 2004 - 14:37 #4
Tilbage igen :)

Nu fungerer det delvis.
Har placeret din kode i den fil som default loades i iframen - men den tager bare default height på iframen og ligger 4 til. Den måler ikke dokumentets højde...

Så det er altså et problem med t variablen..?
Avatar billede andersdp Nybegynder
15. august 2004 - 15:26 #5
Har fundet løsningen.

------------------------------
function ifrHeight()
{
t = document.body.scrollHeight;
if(parent!=window)parent.document.getElementById('content').style.height=t+0+'px';
}
------------------------------

En lille omskrivning af din funktion var det der skulle til.

Smid et svar.
Avatar billede roenving Novice
15. august 2004 - 17:56 #6
Oki '-)
Avatar billede roenving Novice
15. august 2004 - 18:12 #7
-- og tak for point ;~}
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