web-dev-qa-db-ja.com

Googleを設定する方法Chrome javascriptで右クリックメニューをハイジャックできないようにするには

私は、javascriptを介してマウスの右ボタンをハイジャックするWebサイトを軽視しています。他のブラウザー(Firefoxなど)を使用すると、サイトでこれをブロックできます。 chromeにはそのようなオプションがありますか、それとも迷惑なWebサイトのデザイナーのなすがままになりますか?

JavaScriptを完全にオフにしたくありません。 JavaScriptがマウスの右ボタンを乗っ取ることをブロックしたいだけです。 Firefoxでは、JavaScriptがこのような特定のことをするのを止めることができます。 Chrome=も同様に機能するかどうかを確認しようとしています。現時点では機能しないと想定します。

46
Peter

これを試してみてくださいChrome拡張機能。これは、Webサイトが右クリックボタンをブロックするのを明確に阻止します。

右クリックを有効にする

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

17
Alexander Lai

押す F12 Google Chrome Developers Toolsを引き出してConsoleタブに移動し、以下のコマンドを実行します:

document.oncontextmenu=null;

ほとんどのコンテキストメニューが元に戻ります。

Firefoxでも動作するはずです。

もちろん、Firefoxではそのまま使用できます Shift +右クリックして、JSコンテキストメニューをバイパスします。

16
Shi B.

About.com から許容できる解決策を見つけました。これは小さなブックマークレットであり、本来この特定の迷惑なJSを強制的に無効にするためにクリックする必要があります。ただし、多くのサイトではJSを右クリックで制御する必要があるため、Firefoxスタイルのオプションよりも優れています。たとえば、Googleドキュメントなど...

少なくとも、メモリに追加の拡張機能を保存するためにリソースを無駄にする必要はありません。 chromeタスクマネージャで拡張機能を保存する方法を見ることができます。見るには拡張機能をインストールする必要があります。

4
J. M. Becker

NotScriptsを使用しています

編集:

私は ScriptNoに切り替えました を持っています。

2
Moab

この小冊子は、2019年8月の時点でGoogleサイト/ YouTubeで動作します(Chromeおよび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();

不快なサイトの場合、aggressiveをtrueに設定/渡す(これにより、ほとんどのイベントハンドラーが無効になり、ページとの対話が無効になります):

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();
0
Chema