|
Wanneer je klikt op een link in een pagina in een frame, wordt de gelinkte pagina getoond in
hetzelfde frame als dat waarin de link staat. Soms is het nodig dat die pagina in
een ander frame wordt geopend.
Targets gebruiken
Op die manier kunnen we één venster als
navigatiebalk gebruiken en het andere om de pagina's te laten zien. Als je klikt op een andere link in de navigatie, opent in het inhoudsframe dan telkens de pagina die bij die link hoorde.
Om dit te kunnen doen moeten er twee dingen worden veranderd. Allereerst moet
een frame een naam krijgen, om ernaar te kunnen verwijzen. Je kunt dit doen
door het attribuut name="naam van het frame" aan de tag
<frame> toe te voegen.
Het is aan te raden om voortaan alle frames die je
maakt direct een naam te geven, omdat dit later de nodige tijdsbesparing kan
opleveren. Vervolgens geven we het frame aan de linkerkant de naam 'navigatie'
en het rechtse frame de naam 'inhoud', met het name-attribuut.
Deze
namen zijn willekeurig, maar je vindt ze in zeer veel pagina's met frames terug.
Jouw index.html ziet er nu zo uit:
<html>
<head>
<title>Frames</title>
</head>
<frameset cols="50%, 50%">
<frame name="navigatie" src="navigatie.html">
<frame name="inhoud" src="inhoud.html">
</frameset>
</html>
De volgende stap is het maken van twee verschillende bestanden, waarnaar we gaan
linken, met de namen pagina1.html en pagina2.html. In de body van deze bestanden
komt respectievelijk de tekst 'Pagina 1' en 'Pagina 2' te staan.
Nadat je deze bestanden
hebt opgeslagen (in dezelfde directory), open je het bestand navigatie.html en
vervang je daar de body-tekst 'navigatie' door <a href="pagina1.html"
target="main">Link 1</a>. Daarna open je het bestand inhoud.html en
vervang daar de tekst 'hier komt inhoud' door <a href="pagina2.html"
target="navigatie">Link 2</a>.
Als de bestanden zijn opgeslagen kun je je browser openen en
het bestand index.html laden. Als het goed is kan je vanuit het navigatieframe pagina1.html openen in het inhoudsframe, en vanuit het inhoudsframe pagina2.html openen in het navigatieframe.
Maar het kan ook anders (eenvoudiger): Als het niet je bedoeling is om de
frames in twee richtingen te laten werken (bvb. de linkerbalk met het keuzemenu
blijft wat het is), hoef je alleen in je navigatiebalk (navigatie.html in dit
voorbeeld) na de </title> -tag, de tag <base target="inhoud">
op te nemen.
Je hoeft dan niet meer bij elke link het target-attribuut te
gebruiken. Alle links openen automatisch in het inhoudsframe.
Lees verder over frames in het hoofdstuk horizontale en verticale frames samen gebruiken.
|