webForumDet fria alternativet

IFRAME

22 svar · 610 visningar · startad av annesophie

annesophieMedlem sedan juni 20012 236 inlägg
#1

Hej,

Funkar IFRAME med hyfsat resultat i de vanligaste browers?

Har ett problem som jag nog tyvärr måste lösa med just en IFRAME eller ett frameset.
Men eftersom jag inte vill bygga om hela sidan och göra FRAMES så kändes IFRAME som en ev lösning. Men jag har aldrig använt IFRAME tidigare och är därför helt novis...

Kanske ska förklara problemet...

Använder en trädmeny, en include-fil, som ser ut ungefär såhär:
+Tecken på graviditet
-<a href=content.asp?ID=1>Graviditetssymptom</a>
-<a href=content.asp?ID=2>Nidationsblödning</a>
-<a href=content.asp?ID=3>Skengraviditet</a>
-<a href=content.asp?ID=4>Graviditetstest</a>

När man klickar på ett menyval så laddas content.asp?ID=XX
XX är då ett databasID och skickas naturligtvis från menyn.

Problemet är att när man laddar sidan content så stängs ju trädmenyn eftersom sidan just laddar om.
Alltså så får man igen öppna menyn och leta reda på det man vill läsa härnäst under menyalternativ "Tecken på graviditet".

I början var det inget problem men nu när sidan är så gigantisk stor så börjar det bli lite jobbigt.
Så jag tänkte att en IFRAME kanske vore en lösning (?), där man då skulle ladda in alla menysidor i IFRAMEN och därmed slippa (?) att menyn laddas om och stängs.

Så, är detta något att satsa på?
Skulle det funka?
Finns det alternativa lösningar?

/A :)

walter groupiusMedlem sedan juli 2004144 inlägg
#2

Funkar IFRAME med hyfsat resultat i de vanligaste browers?

- ja, det funkar bra och är mkt bättre än frameset.

annesophieMedlem sedan juni 20012 236 inlägg
#3

Tackar för det WG! :)
Då kör jag på.

annesophieMedlem sedan juni 20012 236 inlägg
#4

Jag har nu skapat en IFRAME, och allt tycks funka som det ska.

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

MEN....

Hur får jag dokument att alltid öppna i IFRAMEN?

Tex, om en besökare har en direkt-länk:
http://www.domänen.se/content.asp?ID=1

...och öppnar den så som den är nu så öppnas den ju utanför IFRAMEN. Sidor ska ju alltid öppnas i IFRAMEN.

Hur fixar man sådant?

DinoMedlem sedan sep. 20011 914 inlägg
#5

Testa

<head><base target="myframe"></head>
annesophieMedlem sedan juni 20012 236 inlägg
#6

Ähum....men nej. Det funkar inte. :(

JerpaMedlem sedan feb. 20032 532 inlägg
#7

Om du provar detta då, kan ej direktlänka eftersom den då laddar om sidan med frames...

https://www.webdesignskolan.com
Javascripts - Java
Blandat
Ladda hela framesetet

Annars skulle den direkta länken vara: http://www.webdesignskolan.com/javascripts/ladda_frameset.htm

Vet ej om detta funkar i ditt fal, men man kan ju prova...

BrimbaMedlem sedan dec. 19995 875 inlägg
#8

walter groupius skrev:

- ja, det funkar bra och är mkt bättre än frameset.

Nu vet jag inte exakt vad du syftar på med att det fungerar bra och mycket bättre än frameset.

Iframe stöds från NS 6.0 och IE 4.0 medan frame stöds från NS 3.0 och IE 3.0. Så vill du vara på den säkra sidan skall du helt klart använda frame och inte iframe.

annesophieMedlem sedan juni 20012 236 inlägg
#9

Jerpa skrev:

Om du provar detta då, kan ej direktlänka eftersom den då laddar om sidan med frames...

https://www.webdesignskolan.com
Javascripts - Java
Blandat
Ladda hela framesetet

Annars skulle den direkta länken vara: http://www.webdesignskolan.com/javascripts/ladda_frameset.htm
Vet ej om detta funkar i ditt fal, men man kan ju prova...

Hmmm...nej detta går inte heller verkar det som. :(
Det måste vara nån skillnad på IFRAME och FRAMES.
Jag brukar använda ett script liknande det du föreslog på några framessidor på jobbet, men det funkar inte på IFRAMEN.
Vette katten hur jag ska skriva för att få in direktlänken in i IFRAMEN. *suck*

Brimba skrev:

walter groupius skrev:

- ja, det funkar bra och är mkt bättre än frameset.

Nu vet jag inte exakt vad du syftar på med att det fungerar bra och mycket bättre än frameset.

Iframe stöds från NS 6.0 och IE 4.0 medan frame stöds från NS 3.0 och IE 3.0. Så vill du vara på den säkra sidan skall du helt klart använda frame och inte iframe.

*dunkar huvudet mot skrivbordet*

Idioti!
Men...om jag kollar på statistiken så ser den ut så här:

1. Internet Explorer 6.x 88.3 %
2. Internet Explorer 5.x 7.7 %
3. Safari 1.x 1.7 %
4. Mozilla 1.x 1.3 %
5. Netscape 4.x 1.0 %
Total 100.0 %

Hur är det med Safari och Mozilla och IFRAMEs då?

DinoMedlem sedan sep. 20011 914 inlägg
#10

Testa och lägg till

<iframe name="myframe" ...
walter groupiusMedlem sedan juli 2004144 inlägg
#11

Jag menar helt enkelt att frames är en utdaterad kodningsteknik! Måste man använda det så kör på iframe, det är i alla fall bättre. Men i allra flesta fall går det utomordentligt att använda bara en gnutta asp eller php, tex.

annesophieMedlem sedan juni 20012 236 inlägg
#12

Dino skrev:

Testa och lägg till

<iframe name="myframe" ...

Tack, jag ska testa detta imorgon då det verkar som om hela min server gick ner precis. :(

annesophieMedlem sedan juni 20012 236 inlägg
#13

annesophie skrev:

Dino skrev:

Testa och lägg till

<iframe name="myframe" ...

Tack, jag ska testa detta imorgon då det verkar som om hela min server gick ner precis. :(

Ah, servern är uppe igen! :)

Hmm...men nej det funkar fortfarande inte. :(

Jag har nu lagt till name="myFrame" i:

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

Jag har lagt:

<head><base target="myframe"></head>

...på alla sidor som ska öppnas i IFRAMEN om man nu skulle råka köra en direktlänk som tex http://www.domänen.se/content.asp?ID=110.
Antar att det var det du menade. Vart lite osäker där och testade även att lägga kodsnutten på min index.asp-sida (där IFRAMEn ligger) men det funkade iallfall inte.

Så...kvar på ruta 0.

Om det hjälper någon guru där ute så ser en länk in till IFRAMEN ut så här:

<a href="javascript:loadintoIframe('myframe','content2.asp?id=110')">Länk</a>

HELP! :(

annesophieMedlem sedan juni 20012 236 inlägg
#14

Jag har fortfarande inte kunnat lösa det här.
Någon som har fler förslag?
:(

BrimbaMedlem sedan dec. 19995 875 inlägg
#15

Prova med att ladda den i bodyn.

<body <%if len(trim(request.querystring("id")))>0 then response.write "onLoad=""loadintoIframe('myframe','content2.asp?id=" & request.querystring("id") & "');""" >

Jag menar helt enkelt att frames är en utdaterad kodningsteknik! Måste man använda det så kör på iframe, det är i alla fall bättre. Men i allra flesta fall går det utomordentligt att använda bara en gnutta asp eller php, tex.

Ok, det är OT, men jag vill ändå svara på detta :)

Hur kan frames vara en utdaterad kodteknik? Nu måste du förklara dig! :)
Frames är ett hjälpmedel och inte alls utdaterad på något sätt. Man kan använda frames för att avlasta servrar, för att göra sidan snabbare för användarna och för att få funktioner man annars inte kan få utan frames. Det är i alla fall tre oerhört viktiga anledningar när man väljer struktur på en sida.

Servrar är dyrt
Användarna vill inte ha sega sidor
Användarna vill ha bra funktioner (uppdaterad onlinelista, chat, m.m)

annesophieMedlem sedan juni 20012 236 inlägg
#16

Nja, det funkar typ...men inte helt.
Det måste vara något jag missar! :(

IFRAMENs script plus IFRAMEN ligger på INDEX2.asp.
I IFRAMEN öppnas nu, helt korrekt, home.asp när man öppnar sidan.

Om jag nu skriver in en direktlänk till en faktasida, tex http://www.domänen.se/content2.asp?ID=110 så öppnas den utanför IFRAMEN. Fel.

Lade nu till Brimbas kod (fick lägga till avslutet) enligt följande på content2.asp.

<body  <%if len(trim(request.querystring("id")))>0 then response.write "onLoad=""loadintoIframe('myframe','content2.asp?id=" & request.querystring("id") & "');""" END IF %>>

Nu öppnas http://www.domänen.se/content2.asp?ID=110 förvisso i en IFRAME :), men inte på den sidan IFRAMEN verkligen ligger, alltså INDEX2.ASP som har tex menyn, utan i en IFRAME på en egen sida.

Bara IFRAME och content2.asp?ID=110 men ingen meny och ingen omgivande sida för övrigt.

Märkligt... :(

PeeerMedlem sedan mars 20025 907 inlägg
#17

annesophie skrev:

[...]Jag har lagt:

<head><base target="myframe"></head>

...på alla sidor som ska öppnas i IFRAMEN [...]

Fel!
basetarget-koden ska ligga i headen på den sidan där menyn är.

annesophieMedlem sedan juni 20012 236 inlägg
#18

Jag har lagt:

kod:--------------------------------------------------------------------------------
<head><base target="myframe"></head>
--------------------------------------------------------------------------------

...på alla sidor som ska öppnas i IFRAMEN om man nu skulle råka köra en direktlänk som tex http://www.domänen.se/content.asp?ID=110.
Antar att det var det du menade. Vart lite osäker där och testade även att lägga kodsnutten på min index.asp-sida (där IFRAMEn ligger***) men det funkade iallfall inte.

*** och där även menyn ligger

annesophieMedlem sedan juni 20012 236 inlägg
#19

Se bifogade förenklade ex... *suck*

TinwëlintMedlem sedan maj 2004451 inlägg
#20

Hmm, tror inte att det löser problemet, men varför har du display: none; på iframen?

141 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)