0

現在、コンテンツ スクリプトを使用してショートカットを登録するカスタム キーボード ショートカット用の Chrome拡張機能があります。これらを background.html から呼び出されるバックグラウンド JS ファイルに登録することはできますか? 私のテストでは、ページに直接移動するため、そこに登録されたバインディングは無視されるようです。

問題がある場合は、https://github.com/madrobby/keymasterを使用してキー バインディングを作成/リッスンしています。たとえば、次のようなものを使用します。

key('a', function(){ alert('you pressed a!') });

...私の background.js ファイルでは無視されますが、コンテンツ スクリプトで使用すると問題なく動作します。background.js でキーの押下をリッスンする方法はありますか?

4

1 に答える 1

3

いいえ、あなたがすることはできません...

ご存知かもしれませんが、バックグラウンドページは別のページで実行されます(別のプロセスでも)。そして、javascriptベースのハンドラーはそれらが置かれたページで動作します。あなたが言ったことは、ChromeがいくつかのAPIを公開している場合にのみ可能になります。

ただし、Chromeのキーバインド機能(実験的)はhttp://code.google.com/chrome/extensions/experimental.keybinding.htmlで確認することをお勧めします。ただし、キーバインドの特定のサブセットのみに制限されています。

Rob Wが述べたように、設計によるキーバインドは、コンテンツスクリプトを挿入できるページでのみ機能します。これは、Chromeを除いて、多かれ少なかれhttp、https、およびファイルプロトコル(ファイルプロトコルはわかりません)に要約されます。 Webストア

于 2012-06-30T13:30:58.217 に答える