0

私はChrome拡張機能に取り組んでいます。Chrome拡張機能を使用してキーボードのファンクションキーを呼び出すことが可能かどうかを知りたい.

ありがとう、NVN。

4

1 に答える 1

1

編集:ページでファンクションキーの押下をシミュレートしたいですか、それともユーザーからの物理的なキーの押下を聞きたいですか? プロシージャルにファンクション キー アクションをトリガーしたい場合は、できません。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 ビューアーのように、通常のブラウザー動作を示すべきではない没入型フルスクリーン アプリを作成している場合)、preventDefaultonを使用しkeydownて、潜在的に破壊的なアクションを停止できます。

document.documentElement.addEventListener("keydown", function(e) {
    if(e.keyCode == 112) {
        // if F1 is pressed, don't open help
        e.preventDefault();
    }
});

Chrome拡張機能のキー押下を処理する方法を確認するには、ショートカットキーによる拡張機能の有効化に関する私の回答を参照してください。それはまさにあなたが残りのために必要なものであるべきです。簡単に言うと:

于 2012-05-03T06:09:51.257 に答える