Как сделать так, чтобы все внешние ссылки открывались в новой вкладке?

Опубликовано
Комментарии Нет

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

В HTML есть атрибут target у тега a, которым можно указывать поведение при нажатии на ссылку, но этот атрибут вроде как официально не поддерживается и не понятно будет ли поддерживаться впоследствии в HTML5. Да и к тому же, если ваш сайт уже немолодой и на каком-то этапе вы решили, что внешние ссылки должны открываться в новых вкладках, добавить каждой ссылку атрибут target – сродни самоубийству.

О новых свойства CSS говорить вообще рано, поэтому остается только JS. Приведенный ниже скрипт анализирует каждую ссылку при клике и в зависимости от доменного имени раздает нужное поведение.

Вот сам скрипт:
$(document).ready(function() { 
  $("a[href^=http]").each(
    function(){
      if(this.href.indexOf(location.hostname) == -1) {
        $(this).attr('target', '_blank');
      }
    })
});
Приведенный выше код нужно вставить между html-тегами
<head>...</head>
и забыть о этой проблеме.

Автор

Комментарии

Нет комментариев к данной статье.

Комментарии

Поля обозначенные как * требуются обязательно. Перед постингом всегда делайте просмотр своего комментария.





← Старые Новые →