Permalänk
Medlem

Problem med Iframe

Jag vet att dem flesta ratar frames men jag har inte förstått hur man annars ska få till det. Så om ni har en bättre ide om hur jag ska lösa det, så var snäll att förklara...

annars så har jag ett frameset som ser ut så här:

<iframe src="meny.php" border="0" name="meny" width="753" marginwidth="0" frameborder="0" height="102" marginheight="0" scrolling="no">
</iframe>

<iframe src="under_meny.php" border="0" name="under_meny" width="753" marginwidth="0" frameborder="0" height="58" marginheight="0" scrolling="no" allowtransparency="true">
</iframe>

<iframe src="main.php" border="0" name="main" width="753" marginwidth="53" frameborder="0" height="100%" marginheight="0" scrolling="no" allowtransparency="true">

<iframe src="bottom.php" border="0" name="botten" width="753" marginwidth="0" frameborder="0" height="21" marginheight="0" scrolling="no" allowtransparency="true">
</iframe>

Varför vägrar main framen att vara 100% i height? Om jag fyller på men information till en viss grad så blir inte fönstret större...

edit: stavfel

Permalänk
Medlem

Jag tror att du måste ställa in så att <body> också är height: 100%

Inte riktigt säker dock.

Permalänk
Medlem

kan du lägga in en bild så att man kan se hur det ska vara...?

Visa signatur

ZedeX säger: Detta var inlägget denna gången... :D

Permalänk
Medlem

Det är ingen standard att din Iframe kan anpassa sig efter textens innehåll. Du får göra ett fulhack med DHTML.
www.dynamicdrive.com
Men jag rekommenderar att du använder SSI istället för Iframe.

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

Okej, hur gör jag med SSI då?...var hittar jag information?...

ZedeX - bättre än då!...du får en länk: www.dunkadunka.cjb.net/ny/index.php
Ingenting är klart, så ni behöver ej påpeka typ grafik-fel eller så...vill bara få det att fungera med iframen eller med någon annan metod så jag kan fylla på med rätt mängd information.

Permalänk
Medlem

SSI som står för Server Side Include, är ett mycket enkelt sätt att inkludera ett dokument innuti ett annat. Ingen märker att du har den inkuderat.
Vi säger att du vill ha en meny, och tänker att "pfff, jag vill ju inte ändra meny valen på varje sida bara för att jag ska lägga till en grej i menyn". Istället för att skriva menyn direkt i dokumentet så har du en extern meny-fil. T.ex Meny.asp.
I index.asp så inkluderar du denna Meny.asp genom att skriva (i asp) :

<!--#include virtual="/filer/filen.asp" -->

Ifall du vill inkludera en fil som ligger i samma mapp, så kan du använda dig utav följande kod.

<!--#include file="filen.asp" -->

En hemsida med denna inkludering kan se ut så här alltså.

<html> <head> <title>Min hemsida unt Meny</title> </head> <body> Detta är min hemsida . Klicka på menyn under <br> <!--#include file="meny.asp" --> </body> </html>

I meny.asp så skriver du alltså bara in meny valen, ingen design, ingen formatering osv. Detta gör du i efterhand med nåt som heter CSS. Cascading Style Sheets. Som används till att formatera text.

Bäst för dig och lära dig att koda 2005 istället för 2000

Hoppas detta hjälpte nåt.
Rätta mig om jag har fel någon.

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

nr1: jag har inte stöd/kunskap om asp. Här används bara php. nr2: Och om man gör en vanlig include ("bajs.php") så blir allt åt hellvette....men, jag lyckas inte få någon ordning på din "fulhack" heller. Hur ska det gå till?

Permalänk
Medlem

Vad är det som inte funkar med din include i php? vad är det som skiter sig? Ska ta en titt på det lilla fulhacket.

Här har du en anpassad iframe.

<script type="text/javascript"> /*********************************************** * IFrame SSI script II- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com) * Visit DynamicDrive.com for hundreds of original DHTML scripts * This notice must stay intact for legal use ***********************************************/ //Input the IDs of the IFRAMES you wish to dynamically resize to match its content height: //Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none: var iframeids=["myframe"] //Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended): var iframehide="yes" var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1] var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers function resizeCaller() { var dyniframe=new Array() for (i=0; i<iframeids.length; i++){ if (document.getElementById) resizeIframe(iframeids[i]) //reveal iframe for lower end browsers? (see var above): if ((document.all || document.getElementById) && iframehide=="no"){ var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i]) tempobj.style.display="block" } } } function resizeIframe(frameid){ var currentfr=document.getElementById(frameid) if (currentfr && !window.opera){ currentfr.style.display="block" if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax currentfr.height = currentfr.Document.body.scrollHeight; if (currentfr.addEventListener) currentfr.addEventListener("load", readjustIframe, false) else if (currentfr.attachEvent){ currentfr.detachEvent("onload", readjustIframe) // Bug fix line currentfr.attachEvent("onload", readjustIframe) } } } function readjustIframe(loadevt) { var crossevt=(window.event)? event : loadevt var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement if (iframeroot) resizeIframe(iframeroot.id); } function loadintoIframe(iframeid, url){ if (document.getElementById) document.getElementById(iframeid).src=url } if (window.addEventListener) window.addEventListener("load", resizeCaller, false) else if (window.attachEvent) window.attachEvent("onload", resizeCaller) else window.onload=resizeCaller </script>

Och iframe koden

<iframe id="myframe" src="externalpage.htm" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" style="overflow:visible; width:100%; display:none"> </iframe>

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

Det som skiter sig är i stort sätt allt. Om jag föjler din mall med meny och allt (fast php include) så blir det typ som när du gör en frame utanför någon typ av table eller box....aldså sidan lägger sig brevid sigsjälv om och om och om igen...hmm :S luddigt förklarat men hoppas du förstår.

Yes, jag hittade den också...men det fungerar ej :S ...får inte upp någonting alls om jag anväder den där...

Permalänk
Medlem

Du måste ha med den stora koden också. Javascriptet alltså.
För mig funkar det prima.

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

Var sätter jag in?....där jag har övriga iframes va?

<iframe id="myframe" src="externalpage.htm" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" style="overflow:visible; width:100%; display:none">
</iframe>

varför fungerar det ej tro?....kolla www.dunkadunka.cjb.net/ny/index.php

Permalänk
Medlem

Testa och ändra
var iframeids=["myframe"] till var iframeids=["main"]

Testa även att ändra så att alla iframes använder sig av samma typ av iframe kod. Kan bli någon form av kollision. Svårt att tro det men ingenting är omöjligt.

Jag undrar vad dessa gör längst ner i din kod

<!iframe src="main.php" border="0" name="main" width="753" marginwidth="53" frameborder="0" height="100%" marginheight="0" scrolling="no" allowtransparency="true"> <!/iframe> <!iframe src="bottom.gif" border="0" name="botten" width="753" marginwidth="0" frameborder="0" height="21" marginheight="0" scrolling="no" allowtransparency="true"> <!/iframe>

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

Fungerar typ, länkarna fungerar inte, samt att det blir knasigt med grfiken...den värkar inte tycka om allowtransparency="true"....någon ide?

Permalänk
Medlem

Ta bort allowtransparency="true" ersätt dina 2 andra iframe koder med den jag gav dig. Och ändra dem sakerna som behövs.
Iframen ska vara transparent.

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

Blir fortfarande konstigt...vad är fel tro?

Permalänk
Medlem

Säg att jo gjort som sAnden sa med <!--#include file="meny.html" -->.
hur skall länken se ut då?

Dom filer som finns är ju:
index.shtml (som har SSI och inkluderar start.html från början)
start.html (som är en text bara)
meny.html (där finns menyalternativen)
undersida.html (sen var vi ett menyval som skall ersätta start.html som är inkluderat i index.shtml när man öppnar den.)

Fattar inte hur jag skall kunna byta ut vilken fil som skall visas i index.shtml.
Menyvalen i meny.html måste ju vara typ index.shtml?undrsida.html eller nåt sånt... Snälla hjälp.

Min hemsida för att se exempel

Visa signatur

I want to believe that the truth is out there!!
But it's hard when i know we never gonna find it!!

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Be@st
Säg att jo gjort som sAnden sa med <!--#include file="meny.html" -->.
hur skall länken se ut då?

Dom filer som finns är ju:
index.shtml (som har SSI och inkluderar start.html från början)
start.html (som är en text bara)
meny.html (där finns menyalternativen)
undersida.html (sen var vi ett menyval som skall ersätta start.html som är inkluderat i index.shtml när man öppnar den.)

Fattar inte hur jag skall kunna byta ut vilken fil som skall visas i index.shtml.
Menyvalen i meny.html måste ju vara typ index.shtml?undrsida.html eller nåt sånt... Snälla hjälp.

Min hemsida för att se exempel

Finns 2 sätt. Antingen har du en include på varje sida och helt enkelt länkar till ett helt nytt dokument med en ny include. Eller så kan du köra med följande kod.
Någon ASP kunnig som kan översätta?

<a href="index.php?page=start">Start</a> <a href="index.php?page=lankar">lankar</a> <a href="index.php?page=gastbok">gastbok</a> <?php if(isset($_GET['page'])) { if($_GET['page'] == "start") { include ("start.php"); } else if($_GET['page'] == "lankar") { include ("lankar.php"); } else if($_GET['page'] == "gastbok") { include ("gastbok.php"); } } else { include ("error.php"); } ?>

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

Jag kom fram till ett eget alternativ senare.

Man delar upp index.shtml till nåt som typ main1.shtml och main2.shtml(över och underdel.)
Sen på start.shtml och undersida.shtml typ så inkluderar man main1 över allt och main2 under allt. Finns det några nackdelar med det tror ni?

Visa signatur

I want to believe that the truth is out there!!
But it's hard when i know we never gonna find it!!

Permalänk
Medlem

Fattar inte riktigt ^^ Jag är lite seg i skallen

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

Sorry för min otydlighet! här kommer hela min start.shtml istället. Hela sidans design är indelad i två stycken. main1 och main2.

<html>
<!--#include file="main1.shtml" -->
<!----------------------------------- Main Början------------------- -->
<center>
<font size="4"><b>Välkommen!</b></font>
<hr width="100%" size="1px" color="black">
<br>

<b>Är du intresserad av bilar och brukar åka på olika bilträffar?<br>
Varför inte joina oss när vi åker då?</b><br>
<br>
Det är helt gratis att bli medlem och du får tillgång till ett forum för alla medlemmar.<br>
<br>
<a href="http://wcrteam.proboards25.com/index.cgi?action=register" target="_blank"><b>Registrera dig redan nu!</b></a><br>

<!----------------------------------- Main Slutar------------------- -->
<!--#include file="main2.shtml" -->
</html>

Visa signatur

I want to believe that the truth is out there!!
But it's hard when i know we never gonna find it!!

Permalänk
Medlem

Vad innehåller main1.shtml samt main2.shtml?

Är det bara text eller är det typ en meny som alltid håller i sig?

Det ska inte vara några problem det där. Det ska funka prima, frågan är om du går enklaste vägen för dig.

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

förut hade jag en index som innehöll allt. det komemr du kanske ihåg.
Då använde jag en ifram till start.html och sen alla andra undersidor. Senaste nytt och sånt fanns ju i index.html. Så man fick gå in i koden för att ändra det.

Sen kom vi fram till att SSI är bättre opch då tog jag ut all information som man vill uppdatera till egna filer och inkludera dom i index med hjälp av #include file i stället. Mycket bra!

sen när man ville byta ut en #include file i index för att se en annan fil där i stället så fick jag problem. den var ju inte ändringsbar.
Det är alltid samma #include file som byter fil så då gjorde jag så att:

jag delade upp index i två filer. main1 och main2.
sen gjorde jag en ny index. den vi ser här ovan. Sen gör jag en likadan till alla undersidor jag vill ha sen.

enklase vägen hade nog varit att man innan sidan ladda gjorde ett script som talade om vilken fil som skulle inkluderas mitt på den färdiga sidan. men det fattade jag inte hur det skulle gå till exakt.

Blir väldigt krångligt att förklara men hoppas ni förstår.

Visa signatur

I want to believe that the truth is out there!!
But it's hard when i know we never gonna find it!!

Permalänk
Medlem

Jag tror du gör det oerhört svårt för dig faktist be@st.
Sen tror jag du missuppfattat SSI lite.
Det är inte så att om du inkluderar ett dokument så kan du länka nån länk via en target till SSI. det går inte, däremot om du använder if satser som jag tror det heter där du tillkallar include kommandon som i min kod jag visade här över i PHP. Ska hitta det i ASP alldeles strax.

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

Hmm jag tror inte jag har missuppfattat det alls faktiskt. hehe
jag fattar att man inte kan länka till någon target!!! så dum e jag inte. Jag kanske har förklarat mig på felaktigt sätt dock.
skall bli intresant och se vad du tar fram ut rockärmen...

Visa signatur

I want to believe that the truth is out there!!
But it's hard when i know we never gonna find it!!

Permalänk
Medlem

Jag har fått det att se bra ut nu, men länkarna fungerar inte!....har <a target="under_meny" href=".....i meny.php ...men när jag använder länken så länkas man som om det vore en _top. Vad beror det på?..(frameid är rätt!)

Permalänk
Medlem

har du tagit bort den iFramen "under_meny"? I så fall går det inte att länka till den med target? skriv gärna länken till sidan så man kan kolla.

Visa signatur

I want to believe that the truth is out there!!
But it's hard when i know we never gonna find it!!

Permalänk
Medlem

Nope finns kvar : / .....måste jag ha javascriptet på alla sidor tro?

www.dunkadunka.cjb.net/ny

Permalänk
Medlem

hmm du kan byta it ID= till name= så bör det funka att länka till dom!

sen kan jag inte se varför du behöver <script type="text/javascript" src="js/frame.js"></script> som du har med?

Visa signatur

I want to believe that the truth is out there!!
But it's hard when i know we never gonna find it!!

Permalänk
Medlem

Yes det fungerade, men nu har hela iden med javascriptet havirarat....om du testar klicka på underhållning och bildslumpen...så får du inte med hela sidan... Varför fungerar det inte?

Läs i början av tråden...kanske första inlägget

Permalänk
Medlem

Kan nu meddela att sidan inte alls visas i FF. Bara i iexplore. detta fattar jag inte varför...

Just bildslumpen ser jag faktiskt hela! ser lite stavfel och småfix lite över allt med med kan du ju felsöka senare.

men fattar fortfarande inte varför du har med <script type="text/javascript" src="js/frame.js"></script>.

Visa signatur

I want to believe that the truth is out there!!
But it's hard when i know we never gonna find it!!