@ndersMedlem sedan juni 200032 969 inlägg 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,
Jesper TMedlem sedan nov. 20017 144 inlägg Kan innehållet i iframen vara allt möjligt?
Hur skall skriptet veta hur stor iframe som är lämplig i storleken?
Jesper TMedlem sedan nov. 20017 144 inlägg <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>
@ndersMedlem sedan juni 200032 969 inlägg
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
Jesper TMedlem sedan nov. 20017 144 inlägg Liten fråga, varför använda iframe? Kom just på en annan idé beroende på vad du skall ha det till.
Peter SMedlem sedan dec. 20025 483 inlägg 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.
:)
PalleMedlem sedan apr. 20003 174 inlägg 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]
@ndersMedlem sedan juni 200032 969 inlägg
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
Jesper TMedlem sedan nov. 20017 144 inlägg -"Tio pixlar till fick det bli"
= scrollern?
@ndersMedlem sedan juni 200032 969 inlägg
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? :)
Jesper TMedlem sedan nov. 20017 144 inlägg 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>
LodizMedlem sedan maj 20013 inlägg 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.
tyvärr inte. Access denied beror på att du försöker komma åt data mellan frames, vilket inte är tillåtet.