Avatar billede jaw Nybegynder
07. oktober 2006 - 18:47 Der er 3 kommentarer og
1 løsning

Problem med scrollTop i en iframe

Godaften.

Jeg har et lille problem. Jeg vil gerne have, at jeg kan ændre scrollingen i en iframe, og har leget lidt med scrollTop. I sig selv virker det også.

Det virker ikke:
<script type='text/javascript'>
  alert(window.anIframe.document.body.scrollTop);
</script>
...hvorimod dette virker:
<script type='text/javascript'>
  alert("test");
  alert(window.anIframe.document.body.scrollTop);
</script>

Det virker som om, at uden den "test"-alert, så når iframen ikke at blive loadet, og kan derfor ikke behandles af javascript. Er det rigtigt? Og hvad kan jeg gøre, for at få det godt?

På forhånd tak!
Avatar billede mclemens Nybegynder
07. oktober 2006 - 19:19 #1
Du kan sætte onload på iframen istedet ... f.eks.:
<iframe src="noget.html" onload="alert(window.anIframe.document.body.scrollTop);" name="anIframe"></iframe>

eller <iframe src="noget.html" onload="alert(window[this.name].document.body.innerHTML);" name="anIframe"></iframe> ...

... selve iframen skal være loadet før du kan måle på den ...
Avatar billede mclemens Nybegynder
07. oktober 2006 - 19:28 #2
... hvis det er fordi at src er noget.html#noget ... skal du kalde med timeout istedet (af hensyn til IE da lige slår onload handleren til inden den får scrollet ned:

f.eks.:
<iframe src="noget.html#noget" onload="setTimeout('alert(window.anIframe.document.body.scrollTop);',50);" name="anIframe"></iframe>

... husk at scrollTop lægger på document.documentElement istedet for document.body
hvis du får IE til at overholde css ordentligt via. fuld doctype ...

<iframe src="noget.html#noget" onload="setTimeout('alert(window.anIframe.document.documentElement.scrollTop);',150);"  name="anIframe"></iframe>

... synes det timeouts behov driller lidt i IE :/
(ved ikke om den tidligere på 50 ms skal øges :/
Avatar billede jaw Nybegynder
07. oktober 2006 - 19:32 #3
Det ser faktisk ud til at virke, når man laver det som en onLoad på Iframen, så det er super.

Mange tak for hjælpen...
Avatar billede mclemens Nybegynder
07. oktober 2006 - 19:34 #4
Velbekom, 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