Atidaryti išorines nuorodas naujame lange CSS-gudrybės

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'); )); ) ));

Tai galite padaryti tiesiai naudodami HTML, tačiau tai yra neteisingas žymėjimas. Tai rūpinasi verslu be netinkamo kodo ir nereikalingo žymėjimo.

Arba vis tiek galite išvengti patvirtinimo problemų ir tiesiog pridėti klasę target = _blank prie visų nuorodų su href atributais, prasidedančiais http: //. Toliau pateiktame pavyzdyje taikomos tik nuorodos #content srityje. Tokiu mastelio sumažinimas gali būti gera mintis, jei jūsų meniu yra dinamiški ir sukuriami visi URL.

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

Taip pat atkreipkite dėmesį, kad yra daug įvairių būdų, kaip nukreipti tik į išorines nuorodas.