@Dwellss

Почему на некоторых сайтах страницы не открываются в новом окне при ctrl+click?

почему на некоторых сайтах страницы не открываются в новом окне при ctrl+click? Причем таких сайтов все больше. В новом окне ссылку можно открыть только через правую клавишу мышки. Примеров тьма, тот же opensubtitles.org
Меня интересует как стратегический момент (почему так стали делать) так и практический (какие есть варианты обхода этого) :)
  • Вопрос задан
  • 671 просмотр
Решения вопроса 1
nowm
@nowm
Это происходит из-за того, что ссылка находится внутри элемента, на который навешано прослушивание события click. При этом это навешанное событие не проверяет ни источник клика, ни использование модификаторов (shift, alt, ctrl и так далее). Далее, когда вы кликаете по ссылке, при условии, что навигация происходит не в текущей вкладке, событие клика передаётся по цепочке всем родителям этой ссылки, и если один из родителей слушает click, он его обработает.

Это обычное следствие кривых рук отсутствия опыта — никакой стратегии тут нет. Люди просто не умеют просчитывать варианты того, в каких обстоятельствах будет работать их код.

И если перейти на частности, то на сайте, который вы упомянули, на строку таблицы, внутри которой находится ссылка, навешано событие, которое при клике открывает страницу /en/subtitles/***. Если вы просто кликаете по ссылке, то вы переходите по корректному адресу, потому что используется та же самая вкладка, но если вы открываете ссылку в новом окне, кликая не правой клавишей мыши, а левой плюс кнопка-модификатор Ctrl, событие клика передаётся в тег TR, который переадресовывает текущую вкладку на адрес /en/subtitles/***.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы