Alternatief blank target links in XHTML strict

30-11-2011 | Marcel van Langen | ColdFusion | xhtml, doctype, links, attribuut, external

Zowel in HTML 4 Strict als in XHTML Strict is het niet meer toegestaan om het attribuut TARGET te gebruiken bij links. Allemaal leuk, aardig en begrijpelijk, maar wat als je nu wel een link in een nieuw venster wilt openen? Je kunt natuurlijk het DOCTYPE veranderen, maar dat is natuurlijk geen echte oplossing. Je vriend hier is het attribuut REL in combinatie met een beetje Javascript.

Het REL attribuut is eigenlijk bedoeld om de relatie tussen de pagina met de link en de gelinkte pagina te omschrijven. Ik geloof eerlijk gezegd niet dat veel ontwikkelaars dit attribuut ook daadwerkelijk gebruiken. Een mooi slachtoffer dus voor onze wens om binnen de XHTML specificaties toch een nieuw venster te kunnen openen.

Wat wij gaan doen is het REL attribuut de waarde EXTERNAL mee te geven voor links die in een nieuw venster geopend moeten worden. Een stukje Javascript doet de rest. Een voorbeeld link is:

<a href="http://www.morloff.nl" rel="external">Morloff</a>

Nu nog het stukje Javascript dat deze link ook daadwerkelijk in een nieuw venster laat openen:

function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;

Je kunt ervoor kiezen om dit stukje Javascript in de pagina te plaatsen waar je het wilt gebruiken, of door er een apart JS bestandje van te maken die je via de HEAD voor al je pagina's beschikbaar maakt.

Over Morloff

Morloff ontwerpt en realiseert succesvolle webtoepassingen op het gebied van procesoptimalisatie, eCommerce en rapportage door de inzet van moderne webtechnieken, sociale media en zoekmachine optimalisatie.

over ons | diensten | portfolio | contact | route

naar website IJsmonster.nl naar website ICT intermediairs naar website marcelvanlangen.com

Twitter

Morloff

Cuneraweg 169a
3911 RH Rhenen

M +31 (0)6 - 515 96 189
W www.morloff.nl
E contactformulier

Morloff op Twitter Morloff op Facebook Morloff op LinkedIn Morloff via RSS