私は、javascriptを介してマウスの右ボタンをハイジャックするWebサイトを軽視しています。他のブラウザー(Firefoxなど)を使用すると、サイトでこれをブロックできます。 chromeにはそのようなオプションがありますか、それとも迷惑なWebサイトのデザイナーのなすがままになりますか?
JavaScriptを完全にオフにしたくありません。 JavaScriptがマウスの右ボタンを乗っ取ることをブロックしたいだけです。 Firefoxでは、JavaScriptがこのような特定のことをするのを止めることができます。 Chrome=も同様に機能するかどうかを確認しようとしています。現時点では機能しないと想定します。
これを試してみてくださいChrome拡張機能。これは、Webサイトが右クリックボタンをブロックするのを明確に阻止します。
右クリックを有効にする
https://chrome.google.com/webstore/detail/enable-right-click/hhojmcideegachlhfgfdhailpfhgknjm
押す F12 Google Chrome Developers Toolsを引き出してConsole
タブに移動し、以下のコマンドを実行します:
document.oncontextmenu=null;
ほとんどのコンテキストメニューが元に戻ります。
Firefoxでも動作するはずです。
もちろん、Firefoxではそのまま使用できます Shift +右クリックして、JSコンテキストメニューをバイパスします。
About.com から許容できる解決策を見つけました。これは小さなブックマークレットであり、本来この特定の迷惑なJSを強制的に無効にするためにクリックする必要があります。ただし、多くのサイトではJSを右クリックで制御する必要があるため、Firefoxスタイルのオプションよりも優れています。たとえば、Googleドキュメントなど...
少なくとも、メモリに追加の拡張機能を保存するためにリソースを無駄にする必要はありません。 chromeタスクマネージャで拡張機能を保存する方法を見ることができます。見るには拡張機能をインストールする必要があります。
この小冊子は、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();