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.
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.
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.
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å :-) )