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

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

Есть два мнения по этому поводу.

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

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

В этой статье я расскажу как сделать так, чтобы все внешние ссылки автоматически открывались в новой вкладке.

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

В 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>
и забыть о этой проблеме.

Теги: и

Комментарии

myr4ik07, 22.03.2012 14:20 #

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

Не для галочки, 17.08.2013 14:39 #

Здравствуйте. Почему то статистика Лиру не учитывает просмотры страниц (внутри сайта), если открывается страница в новой вкладке. Как бы сделать так, чтоб и просмотры не падали по статистике, и удобно было посетителям сайта, открывались страницы в новой вкладке?

Катя, 20.12.2013 12:54 #

Скажите, а в какой именно файл вставить скрипт? Я вставила в custom.js, там как раз есть конструкция $(document).ready(function() {
//
});
Но не сработало…

Andrey, 20.03.2014 20:55 #

Я так понял надо создать js и подключить в шаблон?

Зюзгин Иван, 21.03.2014 11:50 #

Да. До подключений этого файла нужно подключить jQuery






Интересное
Важное событие IT
Создание Cisco
Создание Cisco
Узнать подробнее
Оглавление