60 votes

Comment puis-je configurer Google Chrome pour qu'il n'autorise pas le javascript à détourner mon menu de clic droit ?

Je déteste les sites web qui détournent le bouton droit de ma souris via javascript. D'autres navigateurs (comme firefox) me permettent d'empêcher les sites de le faire. Est-ce que chrome dispose d'une telle option, ou me laisse-t-il à la merci des concepteurs de sites web ennuyeux ?

Je ne veux pas désactiver complètement le javascript. Je veux juste empêcher javascript de prendre le contrôle du bouton droit de ma souris. Firefox vous permet d'empêcher javascript de faire des choses spécifiques comme cela. J'essaie de savoir si Chrome le permet également. Je suppose que ce n'est pas le cas pour l'instant.

23voto

Richard Points 101

Essayez cette extension Chrome, elle empêche spécifiquement les sites web de bloquer le bouton du clic droit.

Activer le clic droit

https://chrome.google.com/webstore/detail/enable-right-click/hhojmcideegachlhfgfdhailpfhgknjm

19voto

Filipe Ramos Points 101

Presse F12 pour sortir Google Chrome Developers Tools et naviguer jusqu'à Console et exécutez la commande suivante :

document.oncontextmenu=null;

Cela devrait permettre de rétablir la plupart des menus contextuels.

Cela devrait fonctionner pour Firefox également.

Bien sûr, sous Firefox, vous pouvez simplement utiliser Shift + clic droit pour contourner le menu contextuel JS.

5voto

eforlina Points 49

Essayer

ctrl+shift+clic droit

Semble cette action invoquera le menu contextuel natif.

Ma version de chrome est 84

4voto

J. M. Becker Points 623

J'ai trouvé une solution acceptable, à partir de A propos du site . Il s'agit d'un petit bookmarklet qui, par nature, doit être cliqué pour forcer la désactivation de ce JS particulièrement ennuyeux. Cependant, je trouve que c'est mieux que l'option de style Firefox, car de nombreux sites ont besoin d'un clic droit pour contrôler le JS. Par exemple Google Docs etc...

Au moins, je n'ai pas besoin de gaspiller des ressources pour stocker une extension supplémentaire en mémoire. Vous pouvez observer comment chrome stocke les extensions avec son gestionnaire de tâches, bien sûr vous avez besoin d'une extension installée pour observer.

3voto

Pat James Points 169

Ce bookmarlet fonctionne sur les sites Google/Youtube depuis août 2019 (testé sous Chrome et Firefox) :

javascript: function enableContextMenu(aggressive = false) { void(document.ondragstart=null); void(document.onselectstart=null); void(document.onclick=null); void(document.onmousedown=null); void(document.onmouseup=null); void(document.body.oncontextmenu=null); enableRightClickLight(document); if (aggressive) { enableRightClick(document); removeContextMenuOnAll("body"); removeContextMenuOnAll("img"); removeContextMenuOnAll("td"); } } function removeContextMenuOnAll(tagName) { var elements = document.getElementsByTagName(tagName); for (var i = 0; i < elements.length; i++) { enableRightClick(elements[i]); } } function enableRightClickLight(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); } function enableRightClick(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); el.addEventListener("dragstart", bringBackDefault, true); el.addEventListener("selectstart", bringBackDefault, true); el.addEventListener("click", bringBackDefault, true); el.addEventListener("mousedown", bringBackDefault, true); el.addEventListener("mouseup", bringBackDefault, true); } function restoreRightClick(el) { el || (el = document); el.removeEventListener("contextmenu", bringBackDefault, true); el.removeEventListener("dragstart", bringBackDefault, true); el.removeEventListener("selectstart", bringBackDefault, true); el.removeEventListener("click", bringBackDefault, true); el.removeEventListener("mousedown", bringBackDefault, true); el.removeEventListener("mouseup", bringBackDefault, true); } function bringBackDefault(event) { event.returnValue = true; (typeof event.stopPropagation === 'function') && event.stopPropagation(); (typeof event.cancelBubble === 'function') && event.cancelBubble(); } enableContextMenu();

Pour les sites plus difficiles, définissez/passez la valeur "aggressive" à true (cela désactivera la plupart des gestionnaires d'événements et donc l'interaction avec la page) :

javascript: function enableContextMenu(aggressive = true) { void(document.ondragstart=null); void(document.onselectstart=null); void(document.onclick=null); void(document.onmousedown=null); void(document.onmouseup=null); void(document.body.oncontextmenu=null); enableRightClickLight(document); if (aggressive) { enableRightClick(document); removeContextMenuOnAll("body"); removeContextMenuOnAll("img"); removeContextMenuOnAll("td"); } } function removeContextMenuOnAll(tagName) { var elements = document.getElementsByTagName(tagName); for (var i = 0; i < elements.length; i++) { enableRightClick(elements[i]); } } function enableRightClickLight(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); } function enableRightClick(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); el.addEventListener("dragstart", bringBackDefault, true); el.addEventListener("selectstart", bringBackDefault, true); el.addEventListener("click", bringBackDefault, true); el.addEventListener("mousedown", bringBackDefault, true); el.addEventListener("mouseup", bringBackDefault, true); } function restoreRightClick(el) { el || (el = document); el.removeEventListener("contextmenu", bringBackDefault, true); el.removeEventListener("dragstart", bringBackDefault, true); el.removeEventListener("selectstart", bringBackDefault, true); el.removeEventListener("click", bringBackDefault, true); el.removeEventListener("mousedown", bringBackDefault, true); el.removeEventListener("mouseup", bringBackDefault, true); } function bringBackDefault(event) { event.returnValue = true; (typeof event.stopPropagation === 'function') && event.stopPropagation(); (typeof event.cancelBubble === 'function') && event.cancelBubble(); } enableContextMenu();

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X