Не меня одного раздражает принудительное открывание ссылок на странице в новых окнах или вкладках – владелец сайта просто не оставляет нам выбора. В старом браузере Firefox с этим справлялось дополнение TabMix Plus, но под новые версии его нет. Но можно обойтись и без него и самому научиться открывать ссылки в той же вкладке.
Как лучше открывать ссылки
Вообще у нормальных веб-мастеров принудительное открывание ссылок в новых вкладках считается правилом дурного тона и страхом, что посетитель к нему больше не вернётся. Но посетителей лучше удерживать интересными материалами, а не такими методами.
По умолчанию, если для ссылки не указано, как её открывать, она открывается в том же окне или в той же вкладке. При этом никто не мешает принудительно открыть в новой вкладке, для этого существует три способа:
- контекстное меню на ссылке;
- Shift + левая кнопка мыши;
- средняя кнопка мыши (совмещена с колесом прокрутки).
Но если для ссылки указано, чтобы она открывалась в новой вкладке, то в той же даже при желании открыть её невозможно. Исключение составляют разные дополнения для браузеров вроде уже упомянутого TabMix Plus. Отмечу, что эти дополнения не мешают открыть ссылку в новой вкладке, если пользователь это делает явно, например, той же средней кнопкой мыши.
Очевидно, что лучшим вариантом является предоставление посльзователям выбора, как им делать. А как быть, если нас лишают права выбора?
Убираем «лишние» атрибуты своими силами
Для браузера Firefox есть отличное дополнение GreaseMonkey, которое успели выпустить даже под новые версии Firefox Quantum. Это дополнение позволяет запускать на страницах пользовательские сценарии, написанные на языке JavaScript. Им и воспользуемся.
В первую очередь устанавливаем дополнение – оно находится поиском по имени, так что установка труда не составит.
Далее добавляем новый пользовательский скрипт и пишем в нём следующее:
// ==UserScript== // @name target="_blank" Remover // @description Removes target="_blank" from links // @include * // @version 1 // @grant none // ==/UserScript== window.onclick = function() { var links = document.getElementsByTagName('a'); for (var i = 0; i < links.length; i++) { links[i].removeAttribute("target"); } }
После этого нажимаем Ctrl+S для сохранения и закрываем вкладку со скриптом. Код максимально простой, комментирования не требует. Для открывания ссылок в новой вкладке обычно ставится атрибут target="_blank", его я и убираю. Если вы имели дело с JavaScript, вы и так разберётесь, а если нет – вам сюда лучше пока не лезть.
Одно небольшое замечание всё же напишу. Изначально я пытался сделать это не по щелчку мышью в документе, а после его загрузки. Но если какие-то скрипты долго загружались, то этот не отрабатывал, ожидая полного завершения. А в таком варианте срабатывание гарантировано.
После того, как закрыли вкладку со скриптом, открываете любую страницу и пробуете нажимать на ссылки – они открываются в той же вкладке. Что нам и требовалось.
Спасибо. Ваш метод мне помог,даже очень. При выполнении заданий по решению капч У меня открывалась ссылка Пропустить рекламу в новой вкладке. А та вкладка что называлась Перейти на материал становилась вкладкой какой-либо рекламы,в том числе и вредоносной. Эта беда наблюадалась во всех браузерах почем-то. Ну вот хотя для firefox нашлось решение.