FirefoxでWebサイトによるキーストロークのグラブ/ハイジャックを防ぐ方法は?[複製]


18

一部のWebサイト(最近では増加しているようです)は、Webサイト自体で定義されたアクションを実行するためにさまざまなキーの組み合わせをハイジャックします。GMailには、不適切なタイトルの質問の具体例/があります。「Firefoxの通常の「次を検索」ではなく」「画像を追加」のCtrl+ をハイジャックするStackExchange編集ボックスがありGます。Esc通常の「ロードの停止」ではなく、オーバーレイを隠すFacebookハイジャックがあります。私は例に進むことができると確信していますが、これはこの質問が特定のウェブサイトに関するものではないことを説明するのに十分なはずです。

私はキーボードを広範囲に使用しており、キーボードショートカットは、どのWebサイトにいるかによって動作が異なるため、私にとって大きな迷惑になります。ブラウザ定義のキーボードショートカットを押すと、他の何かではなく、ブラウザで定義されたアクションが実行されます。また、通常キーボードでアクセスできる特定の機能をキーボードでアクセスできないようにしたり、突然他のキーの組み合わせに再マッピングしたりしたくないです。

これにより、サイトによっては面倒なことがあるかもしれませんが、この場合は一貫性を優先します。

Webサイトによるハイジャックを防止または無視し、Firefox独自の定義された動作を優先するようにFirefoxをセットアップすることは可能ですか?

LinuxとWindowsの両方で少なくともFirefoxバージョン20、21、22で機能するソリューションが理想的です。

Mozilla Bugzillaの編集Bug 380637 Webページでブラウザのキーボードショートカットを上書きできるようにする必要がありますか?少なくとも見ていることを示しているようです。このバグは2007年半ばに最初に提出され、2013年半ばにはまだアクティブです。興味深いことに、バグ775002ユーザーがJavaScriptを無効にしてキーボードショートカットをハイジャックできるようにすることは、Firefox 15で重複していると考えられていました。


2
私は彼らがJavascript経由でこれをしていると思う。その場合、JavaScriptを無効にせずに無効にする一般的な方法はありません。
ダニエルRヒックス

うん多分api.jquery.com/keypress 。クライアント側で選択的な.jsの再書き込みを許可するアドオンがあれば面白いでしょう。あなたはその後、ちょうど正規表現または類似を使用してこれらの呼び出しをコメントアウトでき
ジェームズ

4
Javascriptを介して行われた場合でも、キープレスリスナーが関与する必要があり、その機能はブラウザによって提供されます。ブラウザが最初にキーストロークを(おそらく修飾キーを使用して)解釈するようにそのコードを変更できなかった理由はありません。ブラウザが応答してアクションを実行した場合、キーの押下はウェブページ。このような動作を構成可能にする(設定GUIを介して公開したくない場合は、このような高度な設定へのアクセスを既に許可しているabout:configがまだあります)は、かなり簡単です。
CVn

@Downvoterなぜダウン投票なのですか?
CVn

1
@Karanその質問は完全に3年前のものであり、受け入れられている回答はFirefox 3.6について語っています。Firefoxの現在のバージョン番号付けスキームにはまったく同意しませんが、それから20年以上のリリースで、3年以上の開発期間があります。Firefoxの現在のバージョンに対して、その中の答えがまだ有効であるとはどういうことですか?
CVn

回答:


1

Vimperatorプラグインを使用できます。Firefoxをキーボードのみのインターフェースにすることを目指して、最初に押したキーストロークをリッスンし、独自のアクションを実行します。サイトで定義されたキーボードハイジャックを使用する必要がある場合、パススルーモードをいつでも簡単に有効/無効にすることができます。

キーボードショートカットのホストを提供するGMailの場合を考えてみましょう。ただし、このようなショートカットを押すと、Vimperator自体によって処理されます。たとえば、/GMailの内側を押すと、通常、検索ボックスにカーソルが置かれます。ただし/、VimperatorがアクティブなときにGMailページを押すと、デフォルトのページ検索(Vimエディターでのala検索)がトリガーされます。o cまたはなどの他のGMailショートカットについても同様Ctrl+Enterです。つまり、VimperatorはFirefoxのキーストロークの0番目のリスナーになり、可能な限り最初のリスナーをオーバーライドして、キーボードショートカットがブラウザー全体でグローバルになるようにします。

Vimperatorは基本的にFirefoxのVimラッパーです。Vimに慣れている場合、Vimperatorは長い間行方不明の友人のように見えます。:-)

とにかく、Vimperatorのいくつかのキーボードショートカットを使用して作業を開始できます。

o<link>を開きます。このシーケンスにより、Vimperatorコマンドライン(画面の下部)がアクティブになりopen <link>、中央にスペースが挿入された状態でコマンドがそこに配置されます。を押しEnterてページをロードします。

t<linkコマンドtabopenをアクティブにし、リンクを新しいタブで開きます。

gt次のタブに切り替えます。Ctrl+TabそしてCtrl+PgUp/Dnまた働く。

gT 前のタブに切り替えます。

ZZ セッションを保存した後、FFを閉じます。

fページビュー内のすべてのリンクに番号を強調表示します。番号を入力すると、リンクが開きます。ハイライトされたフィールドはすべて検索可能です。したがって、数字を入力する代わりに、強調表示されたリンク内の任意のテキストを入力できます。

F バックグラウンドタブでリンクを開きます。

h j k lページをナビゲートしleft down upright

Vimperatorは、多くのキーボードショートカットを提供し(そして確かに、経験全体をマウスなしで痛みのないものにします)、FFのデフォルトのショートカットのほとんどは通常どおり機能します。テキストを強調表示、コピー、テキストドキュメントのようにページをナビゲート、ズームイン/アウト、リンク上でホバーをシミュレートし、Firefoxがマウスに応答するものを置くだけのショートカットを見つけることができます。

私が使用した限りでは機能しない唯一の場所は、FFが内部に到達できないため、Flashボックスの内部です。

Vimについて知らないか、Vimを初めて使用する場合は、少し慣れる必要があります。ただし、非常に広範なオンラインヘルプは:h<Enter>離れています。

こちらがリンクです。


どうやら、vimperatorは、Firefoxの最新のビルドと互換性がなくなりました。
シルヴァインウルグ

-1
  • Firefoxのnoscriptプラグインを使用して、JSスクリプトhttp://noscript.net/を無効にしてみてください

1
NoScriptを使用すると、特定のドメインからすべてのJavascriptをロードすることもロードしないこともできます。私はすでにそれを使用しており、それが何をするのか素晴らしいですが、あなたは例えばJavaScriptなしでFacebookやStackExchangeを使用してみましたか?経験は、かなり痛みを伴うものと、まったく使用できないものとの間のどこかにあります。Escキーを通常の状態に戻すためだけに、FacebookですべてのJavascriptをグローバルに無効にするのはかなりやり過ぎです。
CVn

スクリプトを信頼できないPic:i.stack.imgur.com/45aAv.pngとしてマークするか、プロキシを使用してスクリプトからの応答をブロックしてみてください。フィドラー
ホーマーシンプソンズ

Nofaceを使用して、たとえばfacebook.comを信頼できないものとしてマークすると、facebook.comから Javascriptは実行されません。これは私が望むものではありません。質問を読み直してください。
CVn

このリンク:addons.mozilla.org/sv-se/firefox/addon/greasemonkeyおよびスクリプトリンク:userscripts.org/scripts/show/125936 <= look here( "if(src.search(/ bad \。 js /)!= -1){")
ホーマーシンプソンズ

私はまだそれが私にどのように役立つかわかりません。質問にどのように回答するかについての詳細な説明を付けて、回答に編集できますか?
CVn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.