2011-06-19 21 views
2

divをクリックしたときにキーをシミュレートすることはできますか?以下のような 何か:人々はdiv要素を押すことができ、ウィンドウはフルスクリーンしまうのでJqueryでキーボードのキーをシミュレートする

$("mydiv").click(function(){ 
Presskey->F5 
}); 

は実際に私がシミュレートしようとしているキーは、F11です。私はこれを検索したが、ユーザの権限なしでウィンドウを全画面にすることはできないことを知っているが、この場合、彼がキーを押したときにdivを押すだろう。事実、誰もがF11について知っているわけではありません(私はいつも「フルスクリーンでF11を押す」ことができます)。おかげで

+1

私はあなたがそれを行うことができないと信じている、またはそうでなければ、ここでセキュリティ上の問題になります。 – Aristos

+0

[可能な重複](http://stackoverflow.com/questions/1468384/simulate-keypress-with-jquery) – stefgosselin

答えて

4

はいあなたは、押されているF11をシミュレートしかしあなたは(それが唯一のJavaScriptのVMの領域に影響を与えるような)ネイティブブラウザ機能である、それは何をシミュレートすることができない、とすることができますJavaScriptによって引き起こされるものではありません。

"フルスクリーンの場合はF11を押す"が最適です。JavaScriptのブラウザ動作をトリガできる場合は、セキュリティ上の問題を考えてください。 Ctrl+Sなど

これは他の領域でも当てはまります。たとえば、clickイベントをアンカーでシミュレートすると、すべてのJavaScriptの良さが引き継がれます...しかし、それは勝ちました'は実際にはのリンクをたどっていますが、ブラウザー内の何か(ほとんどのもの)はJavaScriptレベルの上にあり、何もアクセスできない状態です。

+0

"実際にリンクをたどることはありません" - その例は真ではありません。 '$( 'a')[0] .click()'のように 'click 'をシミュレートするとリンクが開きます。 – Ignitor

+0

@Ignitor - no ...それはできません。あなたがテストして、ここにはないことを確認できます:http://jsfiddle.net/tJRNf/これは許可されていない非常に重大なセキュリティ上の理由があります。 –

+0

Windows上のOpera 12.02、Firefox 15.0、Chrome 21.0、およびIE 9でうまく動作します(グーグルはiframeに読み込まれることを許可していないため、hrefを何か違うものに変更する必要があります。問題)。セキュリティ上の理由について: 'window.location'を変更することでページを簡単に変更できるので、リンク上で' click() 'を呼び出すときにブラウザがこれを防ぐ必要があるのはなぜですか? – Ignitor

1

はプログラムで強制的にフルスクリーンを実行できません。また、JavaScriptを使用してアクセスできない操作をシミュレートすることもできません。

thisをご覧になりたい場合は、のクロスブラウザをサポートしていない可能性があります。

1

悪意のあるスクリプトでは、ユーザーを混乱させる方法として悪意のあるスクリプトによって悪用される可能性があるため、セキュリティ上の問題があります。ウェブサイト(ほとんどのウェブユーザーはスマートではなく、その70%がばかだと覚えておいてください)

関連する問題