しかし、Web ページのコンテンツを保護するために、訪問者の右クリック メニューの使用を禁止したり、右クリック メニューの特定の機能をブロックしたりする必要がある場合があります。右クリック メニューから Web ページのソース コードを表示する この問題を考慮すると、多くの Web デザイナーは右クリックをブロックするだけです。これを行う代わりに、スクリプトを使用してスタイル付きの右クリック メニューを実装し、それを「この右クリック メニューに独自のコンテンツをロードする」に追加することもできます。では、このアイデアを試してみましょう。
最初に考慮する必要があるのは、マウスの右クリック イベントを通じて関数を呼び出すことです。この関数は、新しい右クリック メニューの内容を表示するために使用されます。マウスの右クリック イベントが document.oncontextmenu を通じて呼び出されることがわかっています。 document.oncontextmenu = 特定の関数を定義すると、重要な問題は、これを通じてメニューを制御する方法です。同時に、フォームのクリック イベント document.body.onclick (通常は左クリックを指します) によってメニューを非表示にする必要があります。このプロセスにより、右クリック メニューのポップアップと非表示が完了します。
まず、スクリプト コード
/*Initialization*/
を見てみましょう。
<スクリプト言語="JavaScript1.2">
/*現在のブラウザが Internet Explorer の場合、document.all は true を返します*/
if (document.all && window.print) {
/*メニューボックスの表示スタイルを選択*/
ie5menu.className = menuskin;
/*マウスの右ボタンイベントをリダイレクトする処理プロセスはカスタムプログラム showmenuie5*/
document.oncontextmenu = showmenuie5;
/*マウスの左ボタンイベントをリダイレクトする処理プロセスはカスタムプログラムです*/
document.body.onclick = Hidemenuie5;
}
</script>
通常、マウスの右ボタン イベントはページが読み込まれた後に発生するため、ページの読み込み速度に影響を与えないように、このコードをページの最後に置くことができます。このコードは非常に単純です。まず、IE ブラウザであるかどうかを確認します。そうであれば、次の定義が有効であるはずです。つまり、クライアントが使用するブラウザがIEであることが検出された場合、ユーザが右クリックイベントを生成すると関数showmenuie5が呼び出され、ユーザが左クリックイベントを生成すると関数hidemenuie5が呼び出される。
上記の問題を解決したら、関数 showmenuie5 と関数 Hidemenuie5 を使用してメニューを表示および非表示にする方法を検討する必要があります。もちろん、ここでのメニューは本物の右クリックメニューではなく、自分で作ったdivで、このdivに入れたいものを入れています。マウス イベントを通じて関数を呼び出して、その表示を制御します。これにより、マウスの右ボタンを使用したのと同じ効果が得られます。