今回はInputmanJSで動作している画面のコンテキストメニューを制御する方法について書きます
コンテキストメニューは、画面を右クリックしたポイントから表示されるメニューのことです
後で画面キャプチャを見てみましょう
さて、よくある右クリック防止法として
<body oncontextmenu="return false;">
というものがありますが、
これを書いてもInputManJSは通用しませんでした
前提情報
マシンには依存しないので、前提条件としてはこのぐらいでしょう
InputManJS独自のcontextmenu
まず、今回無効にしようとしているコンテキストメニューがどんなものなのか知っておきましょう
普段、ブラウジングしていて皆さんが見るコンテキストメニューと
InputmanJSのコンテキストメニューには違いがあります
つまり、通常Webブラウジングする際に表示されるコンテキストメニューとは別のものが
使用されているということになります
一方、InputManJS独自のコンテキストメニューとは・・・
全然違いますよね
とてもシンプルです
このように、コンテキストメニューはカスタマイズができるのです
冒頭に記載した、bodyに対するcontextmenu無効化は
InputManJS独自のコンテキストメニューに
反映されないので、これを表示させないようにしていきましょう
編集箇所
早速、編集箇所を調べましょう
まず、キーワードは contextmenu
ですね
ひたすらcontextmenuと書かれた箇所にブレークポイントを張っていき
画面で右クリックした際に、到達するポイントを探しました
その結果がこちらです↓
gc.inputman-js.ja.js
を編集します
整形するとこんな感じです
この”contextmenu”イベントに対するcallback関数の先頭で return !1
; してしまえば、
右クリックを無効にすることができます
return !1; は return false; と同じ意味です
1: true なので、その否定(!)でfalseとなります
今回は以上です!
ではまた!