Kom ihåg mig?
Home Menu

Menu


Kan man få en dynamisk iframe?

Ämnesverktyg Visningsalternativ
Oläst 2004-03-27, 00:07 #1
MrBig MrBig är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 113
MrBig MrBig är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 113
Kan man få en dynamisk iframe vad beträffar storlek?

Detta är kanske en fråga som låter konstig, men vad jag skulle vilja uppnå är att ha en iframe i mitten av sidan som laddas. Då informationen laddas in i den skall iframe anpassa sig till rutan. Alltså vill jag inte att rutan får en scrollbar, utan bara att rutan blir längre och förlänger sidan. Är det möjligt?
MrBig är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-03-27, 00:20 #2
orreborres avatar
orreborre orreborre är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2003
Inlägg: 309
orreborre orreborre är inte uppkopplad
Flitig postare
orreborres avatar
 
Reg.datum: Apr 2003
Inlägg: 309
Japp, det ska gå bra, men jag har aldrig lyckats själv.
Det du gör är att kolla höjden på dokumentet i iframen och sätter iframen till denna höjd.

Tar reda på höjden gör du genom: document.body.scrollHeight
Jag har inget kodexempel här just nu, men sök lite så kanske du hittar något.
Jag återkommer om jag hittar lite kod.

Mvh
orreborre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-03-27, 01:30 #3
MrBig MrBig är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 113
MrBig MrBig är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 113
Citat:
Originally posted by orreborre@Mar 26 2004, 22:20
Det du gör är att kolla höjden på dokumentet i iframen och sätter iframen till denna höjd.
Ja, men du kan ju sätta höjden på iframen endast om du laddar om hela sidan eller hur. Det är det jag vill undvika. Tänkte mer på kanske att iframe uppför sig som en tabell.

Sätter du en tabell till 300 i höjd men ändå packar in mycket information kommer den automatiskt att bli längre.....

Trodde kanske att jag kan uppnå samma sak i detta fallet och kan bara ladda in ny information i iframen. Vill som sagt inte ladda om hela sidan hela tiden.
MrBig är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-03-27, 01:50 #4
orreborres avatar
orreborre orreborre är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2003
Inlägg: 309
orreborre orreborre är inte uppkopplad
Flitig postare
orreborres avatar
 
Reg.datum: Apr 2003
Inlägg: 309
Det du kan göra är att ladda en javascriptfunktion med jämna mellanrum för att kontrollera höjden på dokumentet och därefter juster höjden på den. Ingen snygg lösning, men det är den enda jag kan komma på.
orreborre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-03-27, 02:06 #5
MrBig MrBig är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 113
MrBig MrBig är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 113
Citat:
Originally posted by orreborre@Mar 26 2004, 23:50
Det du kan göra är att ladda en javascriptfunktion med jämna mellanrum för att kontrollera höjden på dokumentet och därefter juster höjden på den. Ingen snygg lösning, men det är den enda jag kan komma på.
ok, tack för all hjlp. Kände på mig att det kanske inte går, men man frågar ju innan man ger upp.
MrBig är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-03-27, 10:57 #6
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
Prova detta (alla filer ligger i samma mapp i detta exempel):

index.htm:
Kod:
<html><head>
<title>Iframeförändring</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head> 
<body background="#ffffff" leftmargin="10" topmargin="10">
<div id="kldiv"><iframe src="test.htm" width="100%" height="100%"></iframe></div>
</body></html>
test.htm:
Kod:
<body bgcolor="#f1f1f1">
<script type="text/javascript" src="test.js"></script>
<a href="javascript:setSize('kldiv','200px','500px');">500x200 pixlar</a><br />
<a href="javascript:setSize('kldiv','400px','500px');">500x400 pixlar</a><br />
<a href="javascript:setSize('kldiv','600px','500px');">500x600 pixlar</a><br />
</body>
test.js:
Kod:
function el(element){
	return top.document.getElementById(element);
}

function setSize(id,h,w) {
	el(id).style.height=h;
	el(id).style.width=w;
}

setSize('kldiv','400px','500px');
Så har jag löst det, men tänk på att detta inte fungerar över domäner. Dvs, du kan inte lägga domän a i iframen som ligger på domän b.

Sen kan man självklart snygga till det vad gäller validering hos w3 samt användbarhet mm.

//Daniel
digiArt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-03-27, 12:25 #7
MrBig MrBig är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 113
MrBig MrBig är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 113
Skall testa det på en sida. Tack!
MrBig är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-04-03, 18:50 #8
MrBig MrBig är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 113
MrBig MrBig är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 113
Har fått det att fungera på ett ganska tillfredställande sätt. Dock fungerar det inte i Opera. Någon som vill ha koden, så kan jag skicka den.
MrBig är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 17:51.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017