Avatar billede goose Nybegynder
19. januar 2005 - 15:04 Der er 13 kommentarer og
1 løsning

Højde af iframe skal tilpasse sig indholdet

Kan det på nogen måde overhovedet lade sig gøre, at en iframe automatisk tilpasser sig højden af det aktuelle indhold ?

Er der noget med, at iframes kun virker i IE og er der evt. et alternativ ?!?

Goose
Avatar billede elskermad.dk Nybegynder
19. januar 2005 - 15:21 #1
hvorfor bruge iframes hvis du ikke vil have indholdet "låst fast"?
Avatar billede Jman Praktikant
19. januar 2005 - 15:28 #2
et alternativ kan være <div>

inde i din <td> sætter du

<div style="width: 100%; height: 100%; overflow: auto">
herinde dit indhold
</div>
Avatar billede goose Nybegynder
19. januar 2005 - 15:29 #3
Det er fordi det er noget indhold som bliver indsat fra en anden server. Helt konkret er der tale om en søgefunktion som efter søgning viser indholdet i samme iframe.

Jeg vil derfor gerne at iframen til at starte med kn har samme højde som søgeboksen, men efter søgning skal den udvide sig i højden afhængigt at antallet af resultater.

/Goose
Avatar billede neander Nybegynder
19. januar 2005 - 15:53 #4
lidt kreativt kunne være noget lignende
QueryTotal = "Select count(*) as Found from Tabel WHERE navn=" & soegeord
Set rsTotal =  connect.Execute(QueryTotal)

height = (12px*int(rsTotal))

<IFRAME height="<%=hoejde%>" width="200">

men ved ikke om den måde vil kunne fungere i praksis...
Avatar billede neander Nybegynder
19. januar 2005 - 15:54 #5
nb: kun pseydo-kode...
Avatar billede goose Nybegynder
19. januar 2005 - 16:47 #6
neander >> det dur desværre ikke da jeg ikke har noget kontrol over selve udtrækket til iframen jvf. min kommentar kl. 15:29:24

/Goose
Avatar billede goose Nybegynder
19. januar 2005 - 16:49 #7
superior >> det dur desværre ikke da jeg trækker indholdet fra en anden server som jeg ikke har adgang til. Jeg var mere ude efter noget javascript måske ?

/Goose
Avatar billede deeflate Nybegynder
22. januar 2005 - 10:52 #8
Prøv evt. med følgende princip:

Siden med IFrame på:

<html>

<head>
<title>Tilpas IFrame</title>

<script type="text/javascript">
function resizeIframe() {
    i = document.getElementById('dinIframe')
    i.style.height=i.contentWindow.document.body.scrollHeight
}
</script>

</head>

<body onload="resizeIframe()" style="margin:0;border:none">
<iframe name="dinIframe" id="dinIframe" src="iframeIndhold.html"
style="position:absolute;top:50px;left:50px;width:200px;height:200px;overflow:hidden;border:none;border-bottom:1px black solid" allowtransparency="true"></iframe>

</body>

</html>




iframeIndhold.html:

<html>

<head>
<title>Iframe indhold</title>


</head>

<body style="margin:0;border:none">
1<br/>
2<br/>
3<br/>
4<br/>
5<br/>
6<br/>
7<br/>
8<br/>
9<br/>
10<br/>
11<br/>
12<br/>
13<br/>
14<br/>
15<br/>
16<br/>
17<br/>
18<br/>

</body>

</html>
Avatar billede deeflate Nybegynder
22. januar 2005 - 11:28 #9
Hov! Kom lige til at se, at den løbende skal holde øje. Prøv at lege lidt med følgende:

Side med iframe:

<html>

<head>
<title>Tilpas IFrame</title>

<script type="text/javascript">
function resizeIframe() {
    i = document.getElementById('dinIframe')
    i.style.height=i.contentWindow.document.body.scrollHeight
}
setInterval("resizeIframe()", 500);

</script>

</head>




Iframeindholdsside, der skulle give en lidt bedre idé om funktionaliteten:

<html>

<head>
<title>Iframe indhold</title>
<script>
function fyldDiv(){
document.getElementById('resultater').innerHTML="1<br/>2<br/>3<br/>4<br/>5<br/>6<br/>7<br/>8<br/>9<br/>10<br/>11<br/>12<br/>13<br/>14<br/>15<br/>16<br/>17<br/>18<br/>"
}
</script>

</head>

<body style="margin:0;border:none">

<a href="#" onClick="fyldDiv();">Vis resultater</a>

<div id="resultater">

</div>

</body>

</html>

<body onload="resizeIframe()" style="margin:0;border:none">
<iframe name="dinIframe" id="dinIframe" src="iframeIndhold.html"

style="position:absolute;top:50px;left:50px;width:200px;height:200px;overflow:hidden;border:none;border-bottom:1px black solid"

allowtransparency="true"></iframe>

</body>

</html>


Håber, at det passer lidt bedre :)
Avatar billede deeflate Nybegynder
22. januar 2005 - 11:32 #10
Du kan selvfølgelig tilpasse intervallet, så der ikke er så stor forsinkelse på.
Avatar billede deeflate Nybegynder
24. januar 2005 - 10:11 #11
Jeg har selvfølgelig lavet rod i en helt simpel copy-paste-operation, men jeg håber, at du kan finde hoved og hale i det alligevel.
Og det er forresten testet i IE og Mozilla.
Avatar billede goose Nybegynder
27. januar 2005 - 22:06 #12
Undskyld min sene respons, men jeg fik det ikke til at virke ordentligt, dog kan jeg bruge det til noget andet.

Jeg har imidlertid fundet på noget andet, så du får lige nogle point for din tid.

/Goose
Avatar billede deeflate Nybegynder
27. januar 2005 - 23:31 #13
Tak for det :) Og godt at det kunne bruges andetsteds :)
Avatar billede askalot Mester
13. november 2005 - 19:14 #14
nu står jeg med samme problem..hva gjorde du goose?
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