/ Forside/ Teknologi / Udvikling / HTML / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
Kan man opdater 2 frames via 1 link?
Fra : dhl
Vist : 488 gange
70 point
Dato : 22-04-03 23:38

Kan man opdater 2 frames via 1 link?

Jeg mener når jeg kalder en en side til en frame, kan man så ikke gøre dette for 2 frames i stedet eller evt. få en side under opstart til at loade en anden frame?

Jeg håber det er til at forstå mit spørgsmål.


 
 
Accepteret svar
Fra : esc2spc

Modtaget 80 point
Dato : 23-04-03 00:56

Både ja og nej,

Nej, fordi du kan ikke kalde 2 frames(sider) med 1 link, men hvad du kan gøre er at lave én html fil med 2 html filer.
Her er et eksempel: Du har lavet en link fra side_1.html til side_2.html. Det eneste funktion side_2.html har er at "kalde" side_3.html (f.eks menu) og side_4.html (f.eks teksten) i bestemte frames.

<html>

<head>
<title>Side 2</title>
</head>
<frameset cols="150,*">
<frame name="menu" src="side_3.html">
<frame name="main" src="side_4.html">
</frameset>
</html>

Kommentar
Fra : benkvist


Dato : 23-04-03 08:09

Hej.

Ideen med HTML som esc2spc giver kan lade sig gøre, men den er nu ikke særlig elegant, og du kan risikere at gå sur i din navigation, hvis udskiftningen af to sider i to rammer altid skal følges af en treide side.

Du kan istedet benytte dig af javascript...

Indsæt dette i "HEAD" delen af din side:

Kode
<script language="JavaScript" type="text/JavaScript">
<!--
function min_goToURL() { //v3.0
var i, args=min_goToURL.arguments; document.min_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>


og i din "BODY" dektion angiver du nu dine links på denne måde:

Kode
<a href="javascript:void();" onClick="min_goToURL('parent.frames[\'RAMMENAVN\']','URL','parent.frames[\'RAMMENAVN\']','URL');return document.min_returnValue">HER ER DIT LINK</a>


Hvor RAMMENAVN er navnet på den ramme der skal have nyt indhold, og URL er den side der skal indlæses i rammen.

Får du brug for at skifte mere end 2 sider, kan du blot tilføje lidt ekstra i parentesen i linket, efter den sidste URL der er angivet. Det du skal skrive er så:

Kode
,'parent.frames[\'RAMMENAVN\']','URL'


efter samme princip som før...

På denne måde styrer du alt fra den side du "er" på, og du kan nemmere overskue hvad der sker. Endvidere så har mange editorer indbygget javascript editor, der netop gør redigering af javascript til noget "nemt" og integreret, evt med tjek af syntaks med mere.

mvh

BenKvist

Kommentar
Fra : benkvist


Dato : 23-04-03 08:59

Ups...

Body dektion skulle selvfølgelig være body sektion

Og så skal jeg måske også tilføje, at du også kan skifte den side som linket ligger på, så bør det dog være det sidste link / kald der laves


mvh

BenKvist

Kommentar
Fra : dhl


Dato : 25-04-03 22:22

Kunne det tænkes at man kan lave noget tilsvarende i PHP istedet for javascribt, for der ved ikke at stille krav om at brugernes browser understøtter dette?

Godkendelse af svar
Fra : dhl


Dato : 26-04-03 16:18

Tak for svaret esc2spc.

Jeg valget dit svar da det var det der kom tættest på min spøgsmål
                        

Kommentar
Fra : esc2spc


Dato : 27-04-03 23:42

Tak!

Det er rigtigt at den løsning som Benkvist forslår er mere elegant, men kun hvis man er et firma med mange sider; som privat person med en lille hjemmeside kan det næsten ikke betale sig at sætte sig ind i javascript. Her er endu et tip:
Hvis du skal bruge side_3.html som menu, således at kun teksten skiftes ud (f. eks side_4.html til side_5.html) skal du skrive <base target="main"> i din side_3.html header.
(du skal brug min ovenstående html sammen med den her)
her er et eksempel:

<html>
<head>
<title>Side 3</title>
<base target="main">
</head>
<body>
<a href="side_4.html">link til side 4</a>
<p>
<a href="side_5.html">link til side 5</a>
</body>
</html>

held og lykke

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177428
Tips : 31962
Nyheder : 719565
Indlæg : 6407944
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste