Externe Links in neuem Fenster öffnen

Avatar of Chris Coyier
Chris Coyier am
$('a').each(function() {
   var a = new RegExp('/' + window.location.host + '/');
   if(!a.test(this.href)) {
       $(this).click(function(event) {
           event.preventDefault();
           event.stopPropagation();
           window.open(this.href, '_blank');
       });
   }
});

Sie können dies direkt mit HTML tun, aber das ist ungültige Markup. Dies erledigt die Arbeit ohne ungültigen Code und unnötige Markup.

Oder Sie können die Validierungsprobleme immer noch vermeiden und einfach die Klasse target=_blank zu allen Links mit href-Attributen hinzufügen, die mit http:// beginnen. Das folgende Beispiel zielt nur auf Links in einem #content-Bereich ab. Eine solche Eingrenzung kann eine gute Idee sein, falls Ihre Menüs dynamisch sind und vollständige URLs erstellen.

$("#content a[href^='http://']").attr("target","_blank");

Beachten Sie auch, dass es eine Vielzahl von Möglichkeiten gibt, nur externe Links anzusprechen.