2012-05-03 10 views

答えて

1

EDIT:はあなたがたいですページのファンクションキーの押下をシミュレートしたりユーザーから物理キーの押下をリッスン?手作業でファンクションキーアクションをトリガーしたい場合は、できません。 Robが指摘するように、スクリプトイベントはスクリプトイベントリスナをアクティブにするだけで、デフォルトの動作をトリガしません。

ファンクションキーの押下を検出するために、あなたはkeyupにあなたのイベントをバインドする必要がある - ファンクションキーと矢印キーのようないくつかの非印刷可能なキーストローク、のために発生しません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ビューアのような没入型のフルスクリーンアプリケーションを作成している場合などは、を​​に設定すると、このような致命的な操作を防ぐことができます。

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

Chrome拡張機能のキーの操作方法を確認するには、Activate extension via short cut keyの私の答えをご覧ください。それはまさにあなたが残りのために必要なものでなければなりません。簡単に言えば:私は上記の与えた

  • コードが

  • イベントハンドラ関数は、ページ上のコンテンツスクリプト内またはにpassing a messageのいずれかによって、いくつかのアクションを実行し、各ページに追加されますcontent scriptに行きます背景ページ

+0

答えていただきありがとうございます。はい、クローム拡張機能のファンクションキーをシミュレートしたいと思います。 Ex。拡張ページにボタンがあります。ユーザーがボタンをクリックすると、実際にファンクションキーをシミュレートします。私にこれをさせるのを助けてください。 – 1509

+0

@ Nvn1509それは**不可能です**、2つの理由から:1. Chrome拡張機能は 'chrome:// extension /' URLにアクセスできません。 2.スクリプト化されたキーイベントは、デフォルト動作をトリガするために決して使用できません。 –

+0

ありがとうございます。 – 1509

関連する問題