web-dev-qa-db-fra.com

Pourquoi Ctrl-Click ne peut-il pas ouvrir des liens dans un nouvel onglet?

Parfois, en naviguant, je vais cliquer sur un lien pour l'ouvrir dans un nouvel onglet. Cependant, au lieu d'ouvrir dans un nouvel onglet, il est cliqué et navigué dans l'onglet actuel comme si je l'avais cliqué normalement sans tenir CTRL. Je suis positif que je tiens parfaitement la CTRL et qu'il n'y a pas de faute avec le clavier ou la souris.

De temps en temps, un nouvel onglet sera ouvert avec le lien mais l'onglet actuel navigue également sur le lien simultanément.

21
Coldblackice

JavaScript dans les coulisses

Cela se produit lorsque les développeurs de ces pages Web intercepter des clics de souris avec JavaScript et font des demandes de réseau asynchrones à l'intérieur de l'intercepteur, potentiellement pour suivre vos clics. Lorsque l'appel réseau ASYNC revient, le JS fait une redirection programmatique en utilisant quelque chose comme: window.location.href = url;

Cette redirection programmatique chargera toujours la page dans le même onglet, même si vous tenez Ctrl (Cmd sur Mac).

Utilisez Middlemouse pour remplacer

En cliquant sur le bouton intermédiaire de votre souris ou en sélectionnant 'Ouvrir dans un nouvel onglet' Dans le menu contextuel contournera complètement l'interception du code JavaScript entièrement et ouvrira un lien comme s'il n'y avait pas de code JavaScript.

11
Valentin Vasilyev

J'ai écrit un add-on firefox (ennuyeusement) nommé fixateur de liaison pour résoudre ce problème. Vous pouvez Installer à partir d'addons.mozilla.org . Cela nécessite Firefox 48.0 ou plus tard.

Me citer moi-même:

Le comportement par défaut de Ctrl + Click, Shift + Click and CMD + Cliquez sur lorsque vous cliquez sur des liens, vous pouvez ouvrir le lien dans un nouvel onglet ou une nouvelle fenêtre. Ce comportement est parfois brisé par des développeurs négligents. Cet add-on restaure le comportement par défaut, garantissant que les touches de modificateur sont toujours respectées.

Une fois installé, il n'y a rien d'autre que vous devez faire. Vous pouvez Ctrl + Cliquez sur n'importe quel lien et il s'ouvrira dans un nouvel onglet. Cela résoudra également la variation du problème que vous décrivez dans votre deuxième paragraphe.

8
danielnixon