読者です 読者をやめる 読者になる 読者になる

はりをきば

そこにピカマンがいる限り 私はテイッハットウッをやめない


Caution!!
この日記はバカな私(はりを)が何かを忘れない為に、バカの一つ覚えの如く色んな記事を投稿しています。…が、
あくまでもただの備忘録のひと握りに過ぎず、情報の信憑性や真偽までは保証していません。
極力正しい情報をまとめているつもりですが、万一誤った記事の内容を実行しトラブル等が発生しても
当方は如何なる責任を負いません。自己責任でご利用ください。

以上に同意する方のみ、この雑記帳の閲覧をお願いします。

初めての方はこちらも併せてお読みください。このブログについて (About)


…ちゃ、ちゃんと予防線張ったからな!! ホント何があっても知らねーからな!!!(小学生並の言い訳)

予防線(☢Caution!!☢)の表示
テキスト全般の表示に使うフォント (大抵は「メイリオ」か「ヒラギノ角ゴ ProN W3」) (マルチバイト文字はSource Han Sansと同じ) (マルチバイト文字はNoto Sansと同じ)
ソースコードの表示に使うフォント
ピカマンロケットの効果音

設定を保存キャンセル

Firefoxは強制的に右クリックメニューを表示できる

雑記 Firefox スマブラ スマブラX スマブラX:スクリーンショット

今年最後だってのによりにもよってこのタイミングでこんなしょうもない記事…
…それがはりをきばクオリティ。
(ちなみに去年の大晦日に投稿した記事はこちら


前置き考えるのも面倒なので本題。
知らない人があまりにも多過ぎるので記事にする。




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.


ブラウザは、コンテキストメニューのサイト側の処理を無視し
常にデフォのUI(メニュー)を表示する手段を提供すべき。
手段とは、例えばShiftキーを押しながら右クリックした場合など。

https://html.spec.whatwg.org/multipage/forms.html#processing-model-5


現在この仕様に従っているのはFirefoxだけで、他のブラウザにはそういった機能はない。


上にも訳した通り、この機能は右クリック禁止を解除するのではなく
右クリック関係の処理を全てパスする機能なので
右クリックメニューに独自の項目を追加してる当ブログ上で
Shift+右クリすると、独自項目が表示されなくなるという欠点(?)もある。


また、Firefoxは設定から右クリック関係のスクリプトを完全無効化できる
(それだと一部の独自メニューを出すサイトが機能しなくなるので推奨しないが)




右クリック禁止はブックマークレットやユーザースクリプトである程度は解除できるが、
例えばcontextmenuイベントを無名関数経由でpreventDefaultされた場合など、解除が困難なケースもあり完全とは言えない。


それに対し、Firefoxに備わるこれらの一連の機能にはサイト側からはどうやっても抗えない。
無条件に禁止解除できる。
Firefoxユーザー相手に完璧な右クリック禁止を実装することは不可能。
(Shift押下中は無条件でcontextmenuイベントが無効になるので)


Firefoxには読み込まれてる画像の一覧表示&保存機能もあるし、
右クリック禁止だとか小賢しいことをするアホは快く死ぬべき。




最近、改悪のバーゲンセールが続くFirefoxだが
腐ってもこういった辺はまだFirefoxなので、しばらくは世話になり続けると思う。


それでは良いお年を。