Deschideți linkuri externe în fereastră nouă - 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'); )); ) ));

Puteți face acest lucru direct cu HTML, dar acesta este un markup nevalid, acesta se ocupă de afaceri fără cod invalid și markup inutil.

Sau puteți totuși să evitați problemele de validare și să atașați clasa target = _blank thing la orice linkuri cu atribute href începând cu http: //. Exemplul de mai jos vizează numai link-uri dintr-o zonă #content. Reducerea în acest fel ar putea fi o idee bună în cazul în care meniurile dvs. sunt dinamice și creează adrese URL complete.

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

Rețineți, de asemenea, că există o mare varietate de moduri diferite de a viza doar linkurile externe.