SteamMedlem sedan juli 2003169 inlägg Finns det nån javascript och isåfall hur ser den ut för att göra att en iframe ska anpassa sin storlek på längden till användarens upllösnings storlek.
Varför jag undrar detta är att om man skapar en iframe med längden 650px och användaren kanske använder sig av en skärmupplösning 800x600 så är det omöjligt för denne att kunna scrolla i iframe-n.
JojoxxMedlem sedan juni 20004 308 inlägg Det behöver du inte använda script för. Det är heller inte helt optimalt att kolla upplösningen och anpassa efter den eftersom inte alla (speciellt de som kör med hög upplösning) inte surfar med webbläsaren i maximerat läge och du vet inte hur stor plats verktygsfält etc. tar. Men i alla fall;
<iframe src="http://www.google.com" style="height:100%;">
Om du vill använda hela fönstrets höjd.
SteamMedlem sedan juli 2003169 inlägg Jag tar och förklarar lite bättre så du kanske förstår vad jag menar.
Jag har en banner i top.asp
Jag har en many i menu.asp
och i inlogged.asp har jag skapat en iframe som ska ändras varje gång man klickar på menyn i vänster.
Alltså, klickar jag exempelvis på "Spel" sektoinen i menyn så ska <iframe> ändras och den gör det som den ska.
Så långt är det ingen fara då min skärmuplösning är för nuvarande 1152x864. Pilen längst ned vilken man skrollar med syns och man kan scrolla ned och läsa hela sektoinen utan problem.
Har man en upplösning på 1025x768 då syns inte den pilen längre för iframen är så lång att man inte når ned till pilen för att scrolla.
Vad jag vill är att iframens höjd ska anpassas till användarens skärmupplösning. Om man ändrar skärmupplösningen så ska även iframen anpassas till den.
Nuvarande exempel som du gav är en fast höjd i % som inte ändras efter skärmupplösningen.
Jag skulle vilja att det ändras dynamiskt efter skärmupplösningen och inte innehållet.
Det kanske är omöjligt att lösa men det är värt att få reda på om det går eller inte går.
Varöfr jag vill göra detta är att slippa använda frames för varje sida. Då skulle jag behöva använda top, left och right frame.
Själv tycker jag är smidigare att bara använda en iframe i mitten av alltihopa och själva sidan laddas mycket fortare med bara en iframe än 3 frames. Det har jag testat och tagit tid med timer script på sidan.
Måste det vara iframes då? Om du skulle försöka skulle du bli förvånad över hur mycket som blir enklare med vanliga frames. Man måste faktiskt inte använde iframes "bara för att".
Hur somn helst skulle kodexempel hjälpa. Har du sidan upplagd nånstans?
JojoxxMedlem sedan juni 20004 308 inlägg Skärmens upplösning läser du av med screen.width och screen.height, men jag tror fortfarande inte att det är det du vill Kalla mig träskallig :) , men är det något du vill läsa av så är det fönstrets innermått (av tidigare nämnt anledning). Om du så kör 2048x1536 så kan webbläsarfönstret vara mindre än om du kör 800*600 om du inte kör i maximerat läge. (Jag kör inte maximerat läge, och jag kör "bara" 1280x1024)
Fönsrets innermått läser du av med:
winHeight=(document.all)?document.body.clientHeight:window.innerHeight;
och
winWidth=(document.all)?document.body.clientWidth:window.innerWidth;
Steam skrev:
Nuvarande exempel som du gav är en fast höjd i % som inte ändras efter skärmupplösningen.
Det är en definitionsfråga. Om du lägger iframen ensam i ett fönster (eller i en frame som också är storleksangiven med %) är det precis det som den gör - ändrar storlek med upplösningen (om du kör i maximerat läge). 100% av 1024 är inte samma som 100% av 800, alltså storleken ändras. Om du däremot lägger iframen i en annan frame som är storleksangiven med ett absolut värde (ex. 400px) kommer storleken inte att ändras.
Men överväg gärna nitro2k01s tips också.
SteamMedlem sedan juli 2003169 inlägg Tack Jojoxx. Det var det jag var ute efter fast med lite letande på nätet har jag hittat nedanstående kod som hjälpte till på traven hur jag skulle konfigurera det hela.
Nu ser koden ut såhär och fungerar precis som jag har tänkt mig.
Utmäkrt!
<iframe id="minFrame" style="height:60%;width:100%;" src="inloggad.asp" name="iframe" marginwidth="0" framespacing="0" marginheight="0" frameborder="0"></iframe>
<script type="text/javascript">
var MZ=(document.getElementById?true:false);
var IE=(document.all?true:false);
var winWidth=IE?document.body.clientWidth:window.innerWidth;
var winHeight=IE?document.body.clientHeight:window.innerHeight;
if(winHeight>500){
if(IE){
document.all['minFrame'].style.height="80%";
}
else if(MZ){
document.getElementById('minFrame').style.height="80%";
}
}
</script>