Target="_blank" xhtml - w3c valid maken

Ingediend door Donny op za, 25/07/2009 - 10:34

Indien je op je website toch graag externe links wilt toevoegen levert dit natuurlijk problemen op als je XHTML Strict wilt blijven werken. Target="_blank" word hier namelijk niet ondersteund. Geen probleem met volgend Javascript kan je gerust XHTML Strict valid blijven verder werken.

  • Neem volgende Javascript op in een extern .js bestand of download de bijlage onderaan deze post:
    function externalLinks() {
    if (!document.getElementsByTagName) return;
    var anchors = document.getElementsByTagName("a");
    for (var i=0; i<anchors.length; i++) {
    var anchor = anchors[i];
    if (anchor.getAttribute("href") &&
    anchor.getAttribute("rel") == "external")
    anchor.target = "_blank";
    }
    }
    window.onload = externalLinks;
  • Open de .info file van jouw template en voeg het script hier als volgt aan toe:
    (In dit voorbeeld heb ik het bestand external.js genoemd, zoals in de bijlage van deze post)

    scripts[] = external.js

  • Als je nu voortaan externe links wilt toevoegen aan je site geef je rel="external" op ipv target="blank", zie onderstaand voorbeeld:

    <a href="http://www.carettedonny.be&quot; title="Carettedonny.be" rel="external">Carettedonny.be</a> 

Als je er zeker van wilt zijn dat je dit altijd wilt gebruiken kan je in je page.tpl.php (In je template) dit voor al je inhoud laten vervangen door <?php print $content; ?> te vervangen door:
 

<?php print str_replace("target=\"_blank\"", "rel=\"external\"",$content) ?>

 

Maak voor alle zekerheid je cache nog eens leeg.

Attachment Size
202957191 byte 1 byte