Avatar billede nyiaccess Nybegynder
23. august 2008 - 12:47 Der er 13 kommentarer og
1 løsning

højde på iframe

Jeg har en side hvor jeg har indsat en iframe på forsiden.

Der står ikke så meget på forsiden, hvorfor siden er er ca. 600 px høj.

Det link jeg åbner i min iframe varierer i højden og er mellem 2000 og 3000 px høj.

Hvis jeg ikke definerer nogen højde i iframen bliver mit link kun vist i ca. 600 px højde, hvorefter man skal scrolle for resten.

Hvis jeg definerer højden til 3000 åbner mit link til tider i for stort et billede, hvilket jeg gerne vil udenom.

Kan det lade sig gøre at få en iframe til at åbne op i 100% størrelse af hvad linket er?
Avatar billede w13 Novice
23. august 2008 - 13:30 #1
Du kan vel gøre det med JavaScript.

<script type="text/javascript">
function setIframeHeight(o){
  o.style.height=o.contentWindow.document.getElementsByTagName("body")[0].offsetHeight+"px";
}
setIframeHeight(document.getElementById("iframe1"));
</script>

Men det skal selvfølgelig først køres, når IFramet er loadet!
Avatar billede nyiaccess Nybegynder
24. august 2008 - 09:30 #2
Nu er jeg ikke super god til det her, så jeg skal lige have lidt mere hjælp.

Hvor præcis skal jeg indsætte ovenstående script.
JEg har forsøgt med med følgende kombination uden held:

    <iframe
src ="http://www.sidensomderhenvisestil.asp"
width="800" height="2500" class="style3" frameborder="0"></iframe>

<script type="text/javascript">
function setIframeHeight(o){
  o.style.height=o.contentWindow.document.getElementsByTagName("body")[0].offsetHeight+"px";
}
setIframeHeight(document.getElementById("iframe1"));
</script>
Avatar billede w13 Novice
24. august 2008 - 11:35 #3
Hvis du linker til en anden side, dvs. indleder adressen med http://www.domæne.dk/, så kan du ikke gå ind og tjekke højden med JavaScript.
Avatar billede w13 Novice
24. august 2008 - 11:42 #4
Dette er testet og virker fint. Bemærk også, at intet virker, hvis du ikke sætter id="iframe1" på dit IFrame:

<iframe id="iframe1" src="2.htm" style="width:800px;border:0" class="style3" frameborder="1"></iframe>

<script type="text/javascript">
function setIframeHeight(o){
  o.style.height=o.contentWindow.document.getElementsByTagName("body")[0].offsetHeight+"px";
}
document.getElementById("iframe1").onload=function(){parent.setIframeHeight(document.getElementById("iframe1"));}
</script>
Avatar billede w13 Novice
24. august 2008 - 11:42 #5
Hov, sådan her:

<iframe id="iframe1" src="2.htm" style="width:800px;border:0" class="style3" frameborder="0"></iframe>

<script type="text/javascript">
function setIframeHeight(o){
  o.style.height=o.contentWindow.document.getElementsByTagName("body")[0].offsetHeight+"px";
}
document.getElementById("iframe1").onload=function(){parent.setIframeHeight(document.getElementById("iframe1"));}
</script>
Avatar billede nyiaccess Nybegynder
24. august 2008 - 12:17 #6
det link jeg har er externt og altså med http:.......
Det er en side jeg trækker fra en ekstern udbyder.
Kan det så ikke lade sig gøre?

Kan jeg lave en "lokal" side som udelukkende viser den eksterne side, som jeg så kan bruge i min iframe?
Avatar billede w13 Novice
24. august 2008 - 12:21 #7
Altså hvis du, som i mit eksempel, f.eks. bruger siden 2.htm, så kan man sagtens hente dennes højde.
Avatar billede w13 Novice
24. august 2008 - 12:21 #8
Men ikke eksterne sider.
Avatar billede nyiaccess Nybegynder
24. august 2008 - 12:26 #9
kan man så ligge scriptet ind i den eksterne side, når den er loadet?
Avatar billede w13 Novice
24. august 2008 - 12:31 #10
Ja, hvis du har adgang til koden på den eksterne side, kan man lægge dette ind på dén i stedet:

<script type="text/javascript">
function setIframeHeight(){
  if(parent)parent.getElementById("iframe1").style.height=document.getElementsByTagName("body")[0].offsetHeight+"px";
}
window.onload=function(){setIframeHeight();}
</script>
Avatar billede nyiaccess Nybegynder
24. august 2008 - 12:34 #11
Det vil jeg prøve om jeg kan få ind på siden så.

Mange tak for hjælpen.
Avatar billede w13 Novice
24. august 2008 - 12:36 #12
Så lidt. Og tak for point. =)

Jeg har dog ikke testet scriptet, så sig lige til, hvis det volder problemer. Det burde virke.
Avatar billede plindstrup Nybegynder
04. september 2008 - 08:38 #13
Ved godt dette ikke er mit spørgsmål, men hvor henne på siden skal scriptet sættes ind? Altså hvor henne på den eksterne side?
Har forsøgt mig, uden held.
Avatar billede w13 Novice
04. september 2008 - 21:23 #14
Lige hvor du synes. :) Bare det er inden i head- eller body-sektionen.

(IFramen skal selvfølgelig ind i body, der hvor det skal være på siden.)
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
Kurser inden for grundlæggende programmering

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