[InputManJS]右クリックを無効にする方法

InputManJS

今回はアプリケーション画面中の右クリックを無効にする方法です(タイトルのまんま

よくある右クリック防止法として

<body oncontextmenu="return false;">

ってのがありますが、これを書いてもInputManは止まらないんです

前提情報

  • InputManJS ver.3.2
  • CDNを利用されている場合、ご紹介する方法は使えません

マシンには依存しないので、まぁ前提条件といってもこのぐらいでしょう

InputManJS独自のcontextmenu

まず、今回無効にしようとしているコンテキストメニューがどんなものなのか知っておきましょう

普段、ブラウジングしていて皆さんが見るコンテキストメニューとは少し違います。

Chromeのコンテキストメニューはこんな感じで表示されますよね

一方、InputManJS独自のコンテキストメニューとは・・・

the simple!!

全然違いますよね。とてもシンプルです。
このように、コンテキストメニューはカスタマイズができるのです。

冒頭に記載した、bodyに対するcontextmenu無効化は
InputManJS独自のコンテキストメニューに
反映されないので、これを表示させないようにしていきましょう。

編集箇所

早速、編集箇所を調べましょう。まず、キーワードは contextmenu ですね。
ひたすらcontextmenuと書かれた箇所にブレークポイントを張りまくって
画面で右クリックした際に、到達するポイントを探しました。

その結果がこちら↓

gc.inputman-js.ja.js を編集します。

反転しているところが編集対象になります

整形するとこんな感じ

min化されているので、何やってるのかわかりづらいですよね。。。

この”contextmenu”イベントに対するcallback関数の先頭で return !1; してしまえば、
右クリックを無効にすることができます。

return !1; は return false; と同じ意味です。 1: true なので、その否定(!)でfalseとなる感じ。

今回は以上です!

ではまた!