---
title: "Anpassa iframes storlek efter innehåll"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/115086-anpassa-iframes-storlek-efter-innehåll"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "@nders"
published: "2004-11-04T12:33:02.000Z"
updated: "2004-11-10T13:06:02.000Z"
replies: 12
views: 1548
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/115086-anpassa-iframes-storlek-efter-innehåll"
---

# Anpassa iframes storlek efter innehåll

## #1 — @nders, 2004-11-04T12:33Z

Hej!

Jag har sökt som en fuktig bäverhanne, men inte hittat något som kan hjälpa mig på vägen. Jag har en iframe som från början är, säg, 100x100 pixlar stor.

Hur får jag min iframe att bli större så allt innehåll syns? När innehållet i iframen förändras vill jag alltså köra ett script som ändrar storleken på iframen.

Någon idé eller länk? :)

Mvh och tpf,

Permalänk: https://www.webforum.nu/p/115086

## #2 — Jesper T, 2004-11-04T13:27Z

Kan innehållet i iframen vara allt möjligt?
Hur skall skriptet veta hur stor iframe som är lämplig i storleken?

Permalänk: https://www.webforum.nu/p/1475794

## #3 — Jesper T, 2004-11-04T13:34Z

```
<html>
<head>
<script>
function resizeIframe(w,h){
document.getElementById("iframe").style.width = w;
document.getElementById("iframe").style.height = h;
};
</script>
</head>
<body>
<iframe src="iframe.htm" style="width:100px;height:100px;" border="0" id="iframe"></iframe>
<br>
<input type="button" onclick="resizeIframe(200,150)" value="Resize!">
</body>
```

Permalänk: https://www.webforum.nu/p/1475800

## #4 — @nders, 2004-11-04T13:38Z

> Kan innehållet i iframen vara allt möjligt?

Tja, i stort sett.

> Hur skall skriptet veta hur stor iframe som är lämplig i storleken?

Det är väl det som är frågan?
Att ändra storlek på en iframe är en trivial sak, men jag vill att allt som ligger i den ska få plats. Jag vill alltså att det mer eller mindre ska se ut som att iframe-innehållet ligger i samma sida som iframen.

I värsta fall får jag slänga in ett frameset, men jag skulle helst se ett script som ändrar storlek på iframen så allt innehåll syns.

mvh

Permalänk: https://www.webforum.nu/p/1475802

## #5 — Jesper T, 2004-11-04T13:44Z

Liten fråga, varför använda iframe? Kom just på en annan idé beroende på vad du skall ha det till.

Permalänk: https://www.webforum.nu/p/1475807

## #6 — Peter S, 2004-11-04T13:46Z

I \<iframe\>-dokumentet:

```
<body onload="parent.f(document)">
...
```

I huvudfönstret:

```
function f(obj){
    document.getElementById("[b]iframeidentifierare[/b]").style.height = obj.body.scrollHeight + "px";
}
```

Beroende på hur kompatibel med grottfolkwebbläsare du vill att det skall vara, kanske du får substituera scrollHeight-egenskapen. Dock skall detta fungera i Mozilla 1.x och IE6. Sedan kanske du får lägga på någon pixel, men det avgör givetvis du.

 :)

Permalänk: https://www.webforum.nu/p/1475809

## #7 — Palle, 2004-11-04T13:54Z

En variant: :) 

```
[red]<html>
<head>

	<script type="text/javascript">
	<!--
	function resizeIframe(elm)
	{
		var frameHeight = document.getElementById(elm).contentWindow.document.body.scrollHeight;
		document.getElementById(elm).height=frameHeight;
	}
	//-->
	</script>

</head>
<body>

<iframe width="300" id="the_iframe" onload="resizeIframe(this.id);" src="iframe.htm" scrolling="no"></iframe>

</body>
</html>[/red]
```

Permalänk: https://www.webforum.nu/p/1475813

## #8 — @nders, 2004-11-04T14:01Z

> Liten fråga, varför använda iframe? Kom just på en annan idé beroende på vad du skall ha det till.

Så här är det:
Jag håller på att bygga en formuläreditor till vårt cms. I huvudfönstret ligger en sida med basinformation om formuläret, och någonstans, i en iframe till exempel, hade jag tänkt att lägga en preview på det formulär man håller på att skapa.
Det är egentligen mitt andraval, jag hade från början tänkt att från mitt popupfönster där jag skapar formulärelement modifiera innerHTML i ett element i huvudsidan, men koden förstörs på vägen. Fatten sie? :)

> Beroende på hur kompatibel med grottfolkwebbläsare du vill att det skall vara, kanske du får substituera scrollHeight-egenskapen. Dock skall detta fungera i Mozilla 1.x och IE6. Sedan kanske du får lägga på någon pixel, men det avgör givetvis du.

Jag struntar högaktningsfullt i folk som inte är smarta nog att uppgradera sina webbläsare. ;)
IE6 och Mozilla räcker fint. :)

Angående Peters lilla script: Ser ut att funka klockrent! Tio pixlar till fick det bli.

Tacketack!

Tack även Jesper och Palle (jag ska se till att testa ditt script senare också :-) )

mvh

Permalänk: https://www.webforum.nu/p/1475816

## #9 — Jesper T, 2004-11-04T14:14Z

\-"Tio pixlar till fick det bli"  
\= scrollern?

Permalänk: https://www.webforum.nu/p/1475828

## #10 — @nders, 2004-11-04T14:17Z

> **Jesper T skrev:**
>
> \-"Tio pixlar till fick det bli"  
> \= scrollern?

Jag vet inte så noga. När jag lade till tio pixlar så försvann i alla fall den vertikalscrollern. Var det det du menade? :)

Permalänk: https://www.webforum.nu/p/1475829

## #11 — Jesper T, 2004-11-04T14:23Z

Japp, har för mig att olika läsare tar med respektive utesluter scrollens brädd i det totala så att säga.
Annars så gillar jag lådsasremotescripting:

```
[B]Sida1.htm[/b]
<script type="text/javascript">
function getText(txt){
document.getElementById("myDiv").innerHTML = txt;
};
</script>
<div id="myDiv"></div>
<iframe src="iframe.htm" style="width:1px;height:1px;" name="iframe" frameborder="0" id="iframe"></iframe>

[B]iframe.htm[/b]
<script type="text/javascript">
window.onload=function(){window.parent.getText(document.getElementById('myContent').innerHTML);}
</script>
<div id="myContent">
<b>Formulär 1</b><br>
<input type="radio"><br>
<input type="radio"><br>
<input type="radio"><br>
<input type="text"><br>
<input type="button">
</div>
```

Permalänk: https://www.webforum.nu/p/1475833

## #12 — Lodiz, 2004-11-09T15:59Z

Jag har sökt samma script, men stött på problem då jag vill ändra storleken efter en sida som inte ligger på min server.

Får access denied.

Vet någon om man kan gå förbi det här problemet?

Mvh Martin.

Permalänk: https://www.webforum.nu/p/1481460

## #13 — nitro2k01, 2004-11-10T13:06Z

tyvärr inte. Access denied beror på att du försöker komma åt data mellan frames, vilket inte är tillåtet.

Permalänk: https://www.webforum.nu/p/1481961

---

Tråden på webben: https://www.webforum.nu/amne/javascript/115086-anpassa-iframes-storlek-efter-innehåll
