Как открыть ссылку в новом окне
Содержание:
- У этого метода не так много плюсов
- Сайт становится уязвим для фишинговых атак
- Как открыть ссылку в новой вкладке или в новом окне браузера (автоматически)
- Открывать новые вкладки в фоновом режиме
У этого метода не так много плюсов
Создавая ссылки, которые открываются в новом окне, вы мешаете пользователям вернуться на сайт. Может показаться, что они без труда вернутся в первое окно с вашим сайтом. Мой опыт показывает, что это не так — людей сбивает с толку неработающая кнопка «Назад». Они даже не подозревают, что перед ними новая вкладка или новое окно. Когда у них не получается быстро вернуться на предыдущую страницу, они просто сдаются и переходят на другие ресурсы.
С опытными пользователями дела обстоят не лучше. Их очень раздражает «привычка» вашего сайта открывать новые окна без разрешения. На то они и опытные пользователи — если бы они хотели открыть новую вкладку, они бы сделали это сами, и им нисколько не нравится, что это делают без их согласия. Ещё хуже, если все ваши ссылки открываются в новом окне.
Сайт становится уязвим для фишинговых атак
Если вы применяете кнопку HTML открыть в новом окне, используя target=»_blank», сайт, на который ведёт ссылка, получает доступ к окну/вкладке с вашей страницей и может подменить её содержимое.
И это не теоретическая уязвимость. Специалисты отдела безопасности отметили «значительное количество сообщений» о подобном перехвате вкладок с целью внедрения вредоносного программного обеспечения.
Для тех, кому интересно — технические подробности. Открытый в новом окне сайт получает доступ к вашей странице через объект window.opener в JavaScript. Этот объект с функциями чтения/записи, которым можно управлять. В том числе, можно изменить свойство window.opener.location и заставить браузер перейти по новому адресу, чтобы открыть картинку в новом окне HTML.
Некоторые браузеры позволяют предотвратить подобное поведение добавлением к ссылке атрибута rel=»noopener noreferrer». Пример, приведённый в начале статьи, будет выглядеть следующим образом:
<a href="https://www.thesitewizard.com/" rel="noopener noreferrer" target="_blank">thesitewizard.com</a>
Теоретически, как rel=»noopener», так и rel=»noreferrer» должно быть достаточно, чтобы защититься от подобной атаки при открытии страницы в новом окне HTML. При этом корректнее использовать атрибут rel=»noopener», так как у rel=»noreferrer» есть побочный эффект — браузер не будет передавать сайту URL источника запроса. Но на данный момент не все браузеры поддерживают атрибут rel=»noopener». Аналогично, rel=»noreferrer» не поддерживается некоторыми браузерами. Поэтому, если захотите защитить пользователей как можно большего числа браузеров, вероятно, придётся использовать оба атрибута.
Тем не менее, этот приём работает только на актуальных версиях Chrome, Firefox и Safari. Internet Explorer данную функцию не поддерживает, хотя я успел быстро проверить 11 версию IE, и она, вроде бы, защищена от подобной атаки при настройках безопасности, применяемых по умолчанию. Насчёт браузера Microsoft Edge точно сказать не могу.
Другими словами, описанный выше метод нельзя назвать стопроцентной защитой. Лучший способ избежать этой проблемы — использовать нормальные ссылки без атрибута target=»_blank».
Как открыть ссылку в новой вкладке или в новом окне браузера (автоматически)
Короткий ответ: просто добавьте к своим ссылкам (тегу <a>) атрибут target=»_blank».
Допустим, что у вас есть следующая ссылка:
<a href="https://www.thesitewizard.com/">thesitewizard.com</a>
Измените её, чтобы она выглядела следующим образом:
<a href="https://www.thesitewizard.com/" target="_blank">thesitewizard.com</a>
Теперь, когда пользователи кликнут по этой ссылке, она откроется в новом окне или на новой вкладке (в зависимости от того, каким браузером они пользуются, и как он настроен).
Обратите внимание, что если вы используете DOCTYPE со строгим синтаксисом XHTML 1.0 или 1.1, то не получится одновременно использовать приведённый выше код и пройти валидацию страницы. Но подозреваю, что этими стандартами никто не пользуется
«Переходные» версии этих стандартов для открытия в новом окне HTML нам вполне подойдут, и в них также поддерживается атрибут target.
Открывать новые вкладки в фоновом режиме
Вот как вы можете открывать новые вкладки в фоновом режиме в браузерах Microsoft Edge, Mozilla Firefox, Google Chrome, Internet Explorer и Opera.
Принудительно открывать ссылки в фоновом режиме в Firefox
Откройте браузер Firefox. В адресной строке введите about: config и нажмите Enter. На экране вашего компьютера сразу же появится предупреждающее сообщение. Игнорируйте его, если его видите, и нажмите вкладку «Я буду осторожен, обещаю».
Двигаясь дальше, попробуйте найти ‘browser.tabs.loadDivertedInBackground‘в окне конфигурации дополнительных настроек. Используйте панель поиска, чтобы упростить процесс поиска. В строке поиска просто введите «browser.tabs» и нажмите Enter.
При просмотре по умолчанию вы увидите ‘browser.tabs.loadDivertedInBackground‘установлено значение false. Вам придется изменить значение.
Для этого дважды щелкните на browser.tabs.loadDivertedInBackground и установите его значение как ‘истинный‘. Вот и все! Вы можете отключить это, если хотите, в любой момент, просто снова установив его значение как false.
Принудительно открывать ссылки в фоновом режиме в Chrome
Хром не предлагает никаких простых методов принудительного открытия ссылок в фоновом режиме. Тем не менее, есть несколько разных подходов, которым вы можете следовать и заставить Chrome открывать ссылки в фоновом режиме.
Переместить ссылки на панель вкладок Новая вкладка
Щелкните, чтобы переместить ссылку на веб-страницу и отпустить ее в любом месте панели вкладок. Вы заметите, что ссылка автоматически открывается в новой вкладке. Вы можете переместить вкладку в любое место адресной строки.
Использование расширений Chrome
- Вкладка Force Background: Это удобный плагин это откроет новые вкладки в фоновом режиме.
- Откройте _new & _blank в новой фоновой вкладке: Принудительно заставляет все ссылки, у которых есть или же в качестве цели для открытия на новой фоновой вкладке вместо вкладки переднего плана. Плагин, однако, не работает с заголовками записей Google Reader, вместо этого он открывает две вкладки.
Принудительно открывать ссылки в фоновом режиме в Microsoft Edge
В браузере Edge, когда вы щелкаете правой кнопкой мыши и выбираете Открыть в новой вкладке, он открывает вкладку в фоновом режиме – как и большинство других браузеров.
Вы также можете использовать упомянутые выше расширения Chrome в Microsoft Edge Chromium.
Открытие новых вкладок в фоновом режиме в Internet Explorer
В Internet Explorer, вы можете легко изменить этот параметр, выбрав «Свойства обозревателя»> вкладка «Общие»> кнопка «Вкладки»> снимите флажок «Всегда переключаться на новые вкладки при их создании».
Принудительно открывать ссылки в фоновом режиме в Opera
Откройте Opera> Инструменты> Быстрые настройки> Убедитесь, что установлен флажок Блокировать нежелательные всплывающие окна.
Следующий тип about: config в адресной строке и нажмите Enter. Прокрутите вниз до Целевое назначение.
Введите “2”. Сохранить и выйти.
Надеюсь это поможет!