Öppna externa länkar i nytt fönster - 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'); )); ) ));

Du kan göra detta direkt med HTML, men det är ogiltig markering, detta tar hand om affärer utan ogiltig kod och onödig markering.

Eller så kan du fortfarande undvika valideringsproblemen och bara lägga till class target = _blank sak till alla länkar med href-attribut som börjar med http: //. Exemplet nedan riktar sig bara till länkar i ett # innehållsområde. Att scopa ner så kan vara en bra idé om dina menyer är dynamiska och skapar fullständiga webbadresser.

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

Observera också att det finns en mängd olika sätt att bara rikta in sig på externa länkar.