16

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

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

3 ответа3

7

JavaScript за кадром

Это происходит, когда разработчики таких веб-страниц перехватывают щелчки мыши с помощью JavaScript и выполняют асинхронные сетевые запросы внутри перехватчика, потенциально для отслеживания ваших кликов. Когда асинхронный сетевой вызов возвращается, JS выполняет программное перенаправление, используя что-то вроде: window.location.href = url;

Этот программный редирект всегда будет загружать страницу в той же вкладке, даже если вы удерживаете Ctrl (Cmd на Mac).

Используйте MiddleMouse для переопределения

Если щелкнуть среднюю кнопку мыши или выбрать «открыть в новой вкладке» в контекстном меню, полностью обойдется перехваченный код JavaScript и откроется ссылка, как если бы кода JavaScript вообще не было.

3

Возьмем эту ссылку в качестве примера:

<a href="test.php" onclick="someFunction(this); return false;">Test</a>

Атрибут href , в данном случае, создает псевдоссылку для удобства чтения (она также позволит работать этой ссылке, даже если JavaScript отключен). Причина этого в том, что атрибут onclick всегда запускается первым. Большие сайты, такие как Google, делают это, чтобы отслеживать клики и пытаться запретить пользователю посещать вредоносные сайты. Из-за этого почему-то не работает Ctrl + Click. Однако, если вы используете среднюю кнопку мыши, это почти всегда работает.

3

Я написал дополнение к Firefox (скучно) с именем link-fixer, чтобы исправить это. Вы можете установить с addons.mozilla.org. Требуется Firefox 48.0 или более поздняя версия.

Цитирую себя:

Поведение по умолчанию ctrl+click, shift+click и cmd+click при переходе по ссылкам - открыть ссылку в новой вкладке или новом окне. Такое поведение иногда нарушается неосторожными разработчиками. Это дополнение восстанавливает поведение по умолчанию, гарантируя, что ключи модификаторов всегда соблюдаются.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .