JQuery: Открыть ссылку в новом окне

По умолчанию, при навигации по страницам сайта, все ссылки открываются в текущем активном окне браузера. Данная традиция уходит корнями во времена зарождения Интернета, когда браузеры не имели вкладок, а держать множество открытых окон было крайне неудобно.

Сегодня, абсолютное большинство браузеров использует вкладки в качестве основы своего интерфейса. Поэтому, сточки зрения удобства и оптимизации сайта, более предпочтительным выглядит вариант, когда каждый раз при переходе по внешней ссылке браузер открывает новую вкладку.

Чтобы браузер самостоятельно открывал ссылки в новом окне, необходимо использовать специальный атрибут target="_blank". Как быть, если по какой-либо причине, ранее вы не использовали данный атрибут. В данной ситуации будет полезен небольшой JavaScript, который навсегда избавит вас от данной проблемы.

В шаблоне вашего сайта, перед закрытием тега </body> необходимо добавить код из примера ниже. Теперь, вне зависимости от наличия атрибута target="_blank", скрипт автоматически будет открывать исходящие ссылки в новой вкладке браузера. При этом, навигация по внутренним ссылкам сайта останется без изменений.

<script type= "text/javascript">
$('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');
         });
    }
})
</script>;