Hyperlinks |
|
Handleiding HTML |
Inhoud Trefwoordenregister |
|
IntroductieHyperlinks (of hypertext links) zijn een essentieel onderdeel van HTML (Hypertext Markup Language). Ze maken het mogelijk dat je, door een simpele klik van de muis, snel van de ene locatie naar de andere surft. Een nieuwe bestemming kan zich bevinden op een andere plaats in hetzelfde document, maar het kan ook een ander document betreffen. Dat andere document kan zich bevinden op de lokale server, maar ook op een server elders op de wereld. Naast documenten kan het bovendien gaan om andere soorten bestanden, zoals afbeeldingen en geluidsfragmenten, of software die je wilt laten downloaden. Een hyperlink maak je met het A element (Anchor). Met het HREF attribuut definieer je op welke locatie het bestand, dat geopend of gedownload moet worden, zich bevindt. Als je werkt met frames, kun je met het TARGET attribuut aangeven in welk frame een document geopend moet worden. Het TARGET attribuut kun je ook gebruiken als een document in een nieuw venster moet worden geopend. Het NAME attribuut van het A element gebruik je om een (onzichtbaar) anker in een document te plaatsen. Dat anker kun je vervolgens gebruiken als bestemming van een hyperlink. Met het BASE element kun je een basisadres voor de URI's in een document te definiëren. De kleur waarmee de hyperlinks worden weergegeven, kun je bepalen met de attributen van het BODY element. Meer mogelijkheden voor de weergave heb je als je stijlen definieert met behulp van Cascading Style Sheets. |
ElementenVoor het maken van hyperlinks zijn de volgende elementen beschikbaar: |
A |
BASE |
|
|
|
Link naar bestandEen hyperlink maak je met het A element, waaraan je het HREF attribuut toevoegt. Het HREF attribuut geeft aan op welke locatie het bestand, dat geopend of gedownload moet worden, zich bevindt. De waarde van het HREF attribuut is een zogenoemde Uniform Resource Identifier (URI). Een URI is een compacte reeks karakters, waarmee een bron (resource) geïdentificeerd kan worden. De aanduiding URI is nieuw in HTML 4.0, daarvoor werd gebruik gemaakt van het begrip URL, Uniform Resource Locator. URL's worden nu gezien als een ondergroep van de meer algemene URI's. Bij een URL wordt een bron (bijvoorbeeld het te openen of te downloaden bestand) geïdentificeerd door de wijze waarop je er toegang tot kan krijgen, bijvoorbeeld via welke methode en op welke locatie op het Internet. Bij het maken van een hyperlink naar een bestand, hangt de opbouw van een URI af van de methode, welke gebruikt wordt om een bestand te openen of te downloaden. De belangrijkste methoden zijn in dit geval http (HyperText Transfer Protocol) en ftp (File Transfer Protocol). Voor deze methoden is de opbouw van de URI:
Het protocol zal meestal http zijn en alleen ftp, als het gevraagde bestand zich op een speciale FTP-server bevindt. Host specificeert het adres van de server, waarop zich het gevraagde bestand bevindt. Het is meestal een domeinnaam, maar mag ook een IP-adres zijn (zie ook de beschrijving van het HREF attribuut). Path geeft aan hoe het gevraagde bestand op de server gevonden kan worden: in welke directory en onder welke bestandsnaam. Het is niet altijd nodig een complete URI te gebruiken. Wanneer je verwijst naar de beginpagina van een site, dan is het voldoende alleen de domeinnaam op te nemen. Meestal wordt dan automatisch een bestand met de naam "index.html" geopend (mits dat bestaat natuurlijk).
In de browser zie je: Handleiding HTML Verwijs je niet naar de host, maar naar een directory op de server, dan beëindig je de URI met een slash:
In de praktijk wil je vaak een verwijzing naar een specifiek bestand in een bepaalde directory van een server opnemen. Bijvoorbeeld:
Wanneer de link verwijst naar een bestand op de lokale server, is het voldoende om alleen het path op te nemen. Daarbij zijn er de volgende mogelijkheden:
wordt door de browser weergegeven als: Frames en niet zoals bedoeld als Frames.
|
Downloaden bestandOm een bezoeker in de gelegenheid te stellen een bestand te downloaden, hoef je in principe niet meer te doen dan het maken van een hyperlink zoals hiervoor beschreven. Voor een zip-achiefbestand, dat in dezelfde directory op de server staat als het HTML-document, ziet zo'n hyperlink er als volgt uit:
Als de bezoeker op een hyperlink van een zip-bestand klikt, zal vrijwel elke browser een venster openen waarin gevraagd wordt of het bestand moet worden opgeslagen of geopend met het bijbehorende programma. Dat zal echter niet bij alle bestandstypen het geval zijn. HTML-documenten en bijvoorbeeld afbeeldingen van het type "gif" en "jpg" zal de browser normaal gesproken zelf openen. Voor geluidsfragmenten en andere multimedia objecten geldt dat over het algemeen ook als de juiste plug-in geïnstalleerd is. Afhankelijk van de programma's waarover een bezoeker beschikt en de instellingen van de browser kunnen bestanden ook geopend worden in een extern programma, bijvoorbeeld in Windows Media Player. |
Basis-URIDe URI van een hyperlink kan absoluut of relatief zijn. In een absolute URI zijn in ieder geval het te gebruiken protocol en het adres van de server opgenomen, een relatieve URI bevat alleen het path op de server. Wanneer een hyperlink met een relatieve URI geopend moet worden, gebruikt de browser de URI van het huidige document als basisadres en bepaalt daarmee de absolute URI van de link. Is de URI van het huidige document:
en is deze hyperlink opgenomen:
dan weet de browser dat de absolute URI van de link de volgende is:
Een voorbeeld van het BASE element is:
Staat in het document, dat bovenstaand BASE element bevat, deze hyperlink:
dan gaat de browser uit van de volgende absolute URI:
Wanneer de basis-URI betrekking heeft op een site op een andere server, kunnen naar bestanden op deze server relatieve URI's opgenomen worden. Verwijzingen naar bestanden op de lokale server mogen in dit geval uiteraard niet meer relatief zijn. |
Bestemming binnen documentSoms wil je niet zomaar verwijzen naar een ander document, maar naar een specifieke plaats in een document. Dat kan als je eerst de plaats, waarnaar je wilt verwijzen, markeert met het A element waaraan het NAME attribuut is toegevoegd. Zo'n markering (of anker) ziet er bijvoorbeeld als volgt uit:
Binnen een document bestaat de URI uit een "#" gevolgd door de waarde van het NAME attribuut. Bijvoorbeeld:
De link wordt door de browser weergegeven als: Inhoud Hyperlinks. Volg je deze link, dan kom je bij de inhoud van dit onderdeel van de Handleiding HTML. Dit soort linken werken overigens niet alleen binnen een document. Het is ook mogelijk te verwijzen naar een gemarkeerde plaats in een ander document, in dezelfde of een andere directory, of op een andere server. Bijvoorbeeld:
Linken naar een plaats binnen een document zorgen ervoor dat de gebruiker niet het hele document hoeft door te scrollen, maar snel naar de gewenste informatie kan springen. |
Document openen in frameWanneer je een document in een bepaald frame wilt openen, dan moet je het TARGET attribuut aan het A element toevoegen. Bijvoorbeeld:
Een uitgebreide toelichting op het gebruik van het TARGET attribuut is te vinden bij het onderdeel Frames. Als veel documenten geopend moeten worden in hetzelfde frame, kan het handig zijn het BASE element in de head van het document op te nemen en met het TARGET attribuut een basis-frame te definiëren. Alle hyperlinks worden dan automatisch in het frame met de via het TARGET attribuut opgegeven naam geopend en alleen aan links die in een ander frame geopend moeten worden moet aan het A element het TARGET attribuut worden toegevoegd. Een voorbeeld van het BASE element is:
Volgens de regels moet aan het BASE element altijd het HREF attribuut worden toegevoegd met een absolute URI. Dat is geen probleem als het document online bekeken wordt, maar offline leidt de absolute URI tot de foutmelding dat er geen verbinding is (of de browser gaat automatisch online). Daarom wordt het BASE element vaak alleen met het TARGET attribuut gebruikt. |
Document openen in nieuw vensterSoms wil je een document laten openen in een nieuw venster. Bijvoorbeeld omdat je de pagina waarop de hyperlink zich bevindt, beschikbaar wilt houden voor de bezoeker (in deze handleiding gebeurt dat om die reden met hyperlinks naar andere sites). De meest eenvoudige oplossing hiervoor is het toevoegen van het TARGET attribuut aan het A element met de waarde "_blank":
Een voorbeeld van deze oplossing vind je in het onderdeel Frames. Het nieuwe venster is bij deze oplossing voorzien van alle toeters en bellen, zoals scrollbars en menu-, locatie-, knoppen- en statusbalk. Bovendien is het in de standaardgrootte van de browser. Voor een hyperlink naar een externe site zal dat geen probleem zijn (integendeel), maar in andere gevallen is een kleiner en wat kaler venster meer op z'n plaats (in deze handleiding worden veel voorbeelden in kleine zogenaamde pop-up vensters weergegeven). Wanneer je de aankleding en de grootte van het nieuwe venster zelf wilt bepalen, dan kom je er niet met alleen HTML en moet je gebruik maken van JavaScript. Een beschrijving van de mogelijkheden vind je bij de JavaScript voorbeelden. |
Hyperlinks in keuzelijstWanneer je een groot aantal hyperlinks hebt, kan het gebruiken van een keuzelijst (ook wel dropdown of pulldown menu genoemd) een goed alternatief zijn voor een gewone opsomming. Om met zo'n keuzelijst te kunnen werken moet je beschikken over een script dat het formulier kan verwerken. Dat kan een script zijn dat op de server draait, maar je kunt ook gebruik maken van een JavaScript dat je opneemt in het document en dat uitgevoerd wordt door de browser van de bezoeker. Server-side scripts voor de verwerking van keuzelijsten worden meestal niet als standaard script door providers ter beschikking gesteld aan hun klanten. Ook zullen providers meestal niet toestaan dat klanten zelf scripts draaien op hun server. Indien je geen eigen server hebt en toch een server-side script wilt gebruiken, dan kun je proberen een andere site te vinden die wel zo'n standaard script aanbiedt. Je kunt daarnaar zoeken bij The CGI Resource Index. Een nadeel van een (client-side) JavaScript is dat de keuzelijst niet werkt, als de browser van de bezoeker JavaScript niet ondersteunt of als de uitvoering van JavaScripts door de bezoeker is uitgezet. Om in alle gevallen een goede oplossing te bieden, kun je ervoor kiezen ook het formulier met de keuzelijst in een JavaScript te plaatsen en als alternatief een opsomming van de hyperlinks binnen een NOSCRIPT element op te nemen. Deze opsomming wordt dan alleen weergegeven als de JavaScripts niet kunnen worden uitgevoerd. Ter illustratie een voorbeeld van een met JavaScript opgebouwde keuzelijst: Een toelichting op de JavaScripts die de keuzelijst weergeven en verwerken, wordt gegeven bij de JavaScript voorbeelden in deze handleiding. Wanneer de browser geen JavaScript kan of mag uitvoeren, dan kun je de bezoeker in plaats van de keuzelijst in dit voorbeeld de volgende tekst bieden: Tabellen | Formulieren | Frames De code hiervoor is:
|
Mailto-linksMet behulp van een mailto-link kun je een bezoeker van je pagina snel een bericht naar je laten sturen. In plaats van een http-URI in de eerdere voorbeelden, gebruik je nu een mailto-URI. Als voorbeeld een mailto-link naar de auteur van de Handleiding HTML staat:
In de browser zie je: Webmaster Handleiding HTML. Wanneer je op deze link klikt, dan opent een browser die deze mogelijkheid ondersteunt, het (via de instellingen opgegeven) e-mailprogramma en plaats het e-mailadres is in het To-veld. De meeste browsers en e-mailprogramma's ondersteunen een parameter in een mailto-URI om het onderwerp (subject) van het e-mailbericht vast te leggen:
Bekijk de weergave van de link in de statusbalk van de browser: Webmaster Handleiding HTML Recente browsers en e-mailprogramma's ondersteunen vaak ook de mogelijkheid tot het opnemen van parameters om (een deel van) de inhoud van het bericht te bepalen, of een kopie in de vorm van een CC (copy carbon) of een BCC (blind copy carbon) naar een ander e-mailadres te sturen:
Wanneer je meerdere parameters gebruikt, dan zet je ze eenvoudig aan elkaar met een "&" ertussen:
De code van een URI mag niet alle beschikbare tekens mag bevatten. De niet toegestane tekens moet je gecodeerd opnemen (zie de toelichting hierna). Wanneer je een subject of een body voor het bericht wilt opnemen dat bestaat uit meerdere woorden, dan moet je de spaties bijvoorbeeld vervangen door "%20" en de dubbele punt door "%3A".
Of de hiervoor beschreven parameters goed werken hangt niet alleen af van de browser, maar ook van het gebruikte e-mailprogramma. Wanneer de bezoeker een e-mailprogramma gebruikt dat niet standaard bij de browser hoort, is de kans groter dat een parameter niet of niet goed werkt. Wanneer je de grootste zekerheid wilt hebben dat de mailto-hyperlink goed werkt, dan is het verstandig alleen gebruik te maken van de parameter SUBJECT. Voor CC en BCC in de mailto-hyperlink is er een goed alternatief. Vrijwel alle e-mailprogramma's ondersteunen de mogelijkheid om, gescheiden door een komma, meerdere e-mailadressen op te nemen (sommige e-mailprogramma's ondersteunen ook de puntkomma als scheidingsteken, maar anderen kunnen daar niet mee overweg en geven een foutmelding):
|
Karakters in URI'sEen URI mag alleen alfanumerieke karakters (de cijfers 0-9 en de letters a-z en A-Z), de speciale karakters $ - _ . + ! * ' ( ) , en een aantal zogenaamde gereserveerde karakters bevatten. Bij de gereserveerde karakters gaat het om karakters die een bijzondere betekenis hebben bij het definiëren van de URI: ; / ? : @ = &.
|
Toelichting in tooltipHet TITLE attribuut kun je gebruiken, wanneer je een extra toelichting voor de hyperlink wilt opnemen. Die toelichting wordt in de nieuwere versies van de bekende browsers (Microsoft Internet Explorer vanaf versie 4, Netscape Navigator 6 en Opera vanaf versie 5) weergegeven in de vorm van een zogenaamde tooltip, die verschijnt als de muis boven de hyperlink komt. Een extra toelichting kan handig zijn in een lijst met hyperlinks (bijvoorbeeld in een navigatieframe), waarin de ruimte voor een uitgebreide gewone omschrijving ontbreekt.
Schuif de muis boven de hyperlink en kijk of de browser de waarde van het TITLE attribuut als tooltip weergeeft: Inhoudsopgave HTML |
Hyperlinks activerenIn een document kun je snel van de ene hyperlink naar de andere gaan door gebruik te maken van de tab-toets. Normaal worden de verschillende links afgewerkt in de volgorde, waarin ze in het document staan. Met behulp van het TABINDEX attribuut kan deze volgorde beïnvloed worden. In het volgende voorbeeld is dat te zien:
Bekijk in een nieuw venster of de browser het TABINDEX attribuut ondersteunt. |
Weergave hyperlinksDe wijze waarop hyperlinks worden weergegeven bepaal je met de attributen LINK, VLINK en ALINK van het BODY element. Het LINK attribuut bepaalt de kleur van een link die nog niet bezocht is, het VLINK attribuut bepaalt de kleur van een link die al wel bezocht is en het ALINK attribuut bepaalt de kleur van een (actieve) link op het moment dat deze wordt geselecteerd door de gebruiker. De gekozen kleur geldt voor alle linken in een document.
Zie ook de toelichting op de attributen van het BODY element in het onderdeel Structuur document. |
Het gebruik van stijlenDe weergave van hyperlinks kan niet alleen met het BODY element beïnvloed worden, maar ook met behulp van een style sheets. Behalve de kleur zijn er dan ook andere mogelijkheden, zoals het lettertype, de lettergrootte, wel of niet onderstreept en een achtergrondkleur. In het volgende voorbeeld is met behulp van het STYLE attribuut een inline stijl gedefinieerd, waarbij gebruikt gemaakt wordt van de stijleigenschappen color, font-family, font-size, text-decoration en background-color.
Van de weergave van dit voorbeeld is een afbeelding opgenomen. Klik op de afbeelding en bekijk in een nieuw venster of de browser het gebruik van stijlen (correct) ondersteunt. Wanneer je de eigenschap text-decoration: none gebruikt om de hyperlink niet onderstreept weer te geven, is het verstandig er wel voor zorgen dat de bezoeker in de gaten heeft dat het gaat om een link. Voor de weergave van hyperlinks kan ook gebruik gemaakt worden de zogenaamde pseudo-classes. Een pseudo-class is speciale mogelijkheid om een stijl voor het A element te definiëren. De vorm van een pseudo-class is de letter A gevolgd door een dubbele punt en een pseudo-class naam. Van de pseudo-class namen zijn er vier: link (voor links die nog niet bezocht zijn), visited (voor links die al wel bezocht zijn), active (voor links die op het moment bezocht worden) en hover (voor een link waarboven de muisaanwijzer zich bevindt). Stijlregels met pseudo-classes worden geplaatst in een stijlblok in de head van een document of in een extern stijlblad. In principe hebben de pseudo-classes A:link, A:visited en A:active dezelfde functie als de attributen LINK, VLINK en ALINK van het BODY element: ze bepalen de weergave van alle hyperlinks in een document. Een voorbeeld van het gebruik van pseudo-classes zijn de stijlregels die voor deze handleiding zijn gebruikt:
De A:hover pseudo-class biedt een mogelijkheid die niet met behulp van attributen van het BODY element mogelijk is: het wijzigen van de weergave van de hyperlink als de muisaanwijzer boven de hyperlink komt. In deze handleiding is ervoor gekozen alleen de achtergrondkleur te wijzigen:
Het resultaat is in de volgende afbeelding te zien: Wanneer je bepaalde hyperlinks in het document (bijvoorbeeld links andere sites) op een andere manier wilt weergeven dan standaard, dan kun je gebruik maken van een 'echte' class-naam. Je neemt dan naast de voorgaande algemene stijlregels bijvoorbeeld ook de volgende stijlregel op het stijlblok of stijlblad:
Aan het A element waarmee de hyperlink gemaakt wordt moet nu het CLASS attribuut met de waarde extern toegevoegd worden:
Zie voor meer informatie over pseudo-classes het onderdeel Structuur CSS. |
Laatste wijziging 23 juli 2002 |