Externe Links in neuem Fenster öffnen - CSS-Tricks

Anonim
$('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 ein ungültiges Markup. Dies erledigt das Geschäft ohne ungültigen Code und unnötiges Markup.

Oder Sie können die Validierungsprobleme weiterhin vermeiden und das Element class target = _blank einfach an Links mit href-Attributen anhängen, die mit http: // beginnen. Das folgende Beispiel zielt nur auf Links in einem # content-Bereich ab. Ein solches Scoping ist möglicherweise eine gute Idee, wenn Ihre Menüs dynamisch sind und vollständige URLs erstellen.

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

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