今年最後だってのによりにもよってこのタイミングでこんなしょうもない記事…
…それがはりをきばクオリティ。
(ちなみに去年の大晦日に投稿した記事はこちら)
前置き考えるのも面倒なので本題。
知らない人があまりにも多過ぎるので記事にする。
Firefoxは、Shiftキーを押しながら右クリックすると強制的にコンテキストメニューを表示できる。
以下の画像で試してみるとわかる。
普通は右クリックが禁止されていて何も起きないが、
Firefoxに限り、Shiftを押しながら右クリックすると普通にメニューを呼び出せる。
これはFirefoxの独自機能ではなく、HTML5の仕様策定などをしているWHATWGによって定められている標準仕様だったりする。
User agents may provide means for bypassing the context menu processing model, ensuring that the user can always access the UA's default context menus. For example, the user agent could handle right-clicks that have the Shift key depressed in such a way that it does not fire the contextmenu event and instead always shows the default context menu.
ブラウザは、コンテキストメニューのサイト側の処理を無視し
https://html.spec.whatwg.org/multipage/forms.html#processing-model-5
常にデフォのUI(メニュー)を表示する手段を提供すべき。
手段とは、例えばShiftキーを押しながら右クリックした場合など。
現在この仕様に従っているのはFirefoxだけで、他のブラウザにはそういった機能はない。
また、Firefoxは設定から右クリック関係のスクリプトを完全無効化できる。
(それだと一部の独自メニューを出すサイトが機能しなくなるので推奨しないが)
右クリック禁止はブックマークレットやユーザースクリプトである程度は解除できるが、
例えばcontextmenuイベントを無名関数経由でpreventDefaultされた場合など、解除が困難なケースもあり完全とは言えない。
それに対し、Firefoxに備わるこれらの一連の機能にはサイト側からはどうやっても抗えない。
無条件に禁止解除できる。
Firefoxユーザー相手に完璧な右クリック禁止を実装することは不可能。
Firefoxには読み込まれてる画像の一覧表示&保存機能もあるし、
右クリック禁止だとか小賢しいことをするアホは快く死ぬべき。
最近、改悪のバーゲンセールが続くFirefoxだが
腐ってもこういった辺はまだFirefoxなので、しばらくはお世話になると思う。
それでは良いお年を。