私はChrome拡張機能に取り組んでいます。Chrome拡張機能を使用してキーボードのファンクションキーを呼び出すことが可能かどうかを知りたい.
ありがとう、NVN。
私はChrome拡張機能に取り組んでいます。Chrome拡張機能を使用してキーボードのファンクションキーを呼び出すことが可能かどうかを知りたい.
ありがとう、NVN。
編集:ページでファンクションキーの押下をシミュレートしたいですか、それともユーザーからの物理的なキーの押下を聞きたいですか? プロシージャルにファンクション キー アクションをトリガーしたい場合は、できません。Rob が指摘したように、スクリプト化されたイベントはスクリプト化されたイベント リスナーをアクティブにするだけで、デフォルトの動作をトリガーしません。
keyup
ファンクション キーの押下を検出するには、イベントを--notにバインドする必要があります。これは、ファンクション キーや矢印キーなど、印刷できないいくつかのキーストロークに対しては発生しません。keypress
document.documentElement.addEventListener("keyup", function(e) {
if(e.keyCode == 113) {
// if F2 is pressed...
// F1 is keycode 112, and it increments from there
}
});
一部のファンクション キーは既に機能しています (F1 でヘルプを開く、F5 で更新するなど)。この動作を防止する十分な理由がある場合 (たとえば、VNC ビューアーのように、通常のブラウザー動作を示すべきではない没入型フルスクリーン アプリを作成している場合)、preventDefault
onを使用しkeydown
て、潜在的に破壊的なアクションを停止できます。
document.documentElement.addEventListener("keydown", function(e) {
if(e.keyCode == 112) {
// if F1 is pressed, don't open help
e.preventDefault();
}
});
Chrome拡張機能のキー押下を処理する方法を確認するには、ショートカットキーによる拡張機能の有効化に関する私の回答を参照してください。それはまさにあなたが残りのために必要なものであるべきです。簡単に言うと:
上記のコードは、各ページに追加されるコンテンツ スクリプトに含まれます。
イベント ハンドラー関数は、ページのコンテンツ スクリプト内で、またはバックグラウンド ページにメッセージを渡すことによって、何らかのアクションを実行します。