2013-04-28 6 views
5

フルスクリーンモード(クロムとサファリでテスト済み)に切り替えた後、テキスト入力に文字や数字を入力することはできませんが、 *¨%£などの特殊文字を入力していないが、簡単な手紙...Webkitブラウザでフルスクリーンモードでテキスト入力に文字や数字を入力できない

コードは本当に簡単です:

HTML

<button type="button" id="fullScreen">LAUNCH FULLSCREEN</button> 
<input type="text" /> 

JS

function launchFullScreen(element) { 
    if(element.requestFullScreen) { 
    element.requestFullScreen(); 
    } else if(element.mozRequestFullScreen) { 
    element.mozRequestFullScreen(); 
    } else if(element.webkitRequestFullScreen) { 
    element.webkitRequestFullScreen(); 
    } 
} 

document.getElementById("fullScreen").addEventListener("mousedown", function(){ 
    launchFullScreen(document.documentElement); 
}, false); 

月ドヴォルザークが述べたように、問題がjsの関数を使用する場合にのみ、ブラウザのビルドでフルスクリーンボタン/ショートカット

を使用した場合、バグが表示されていません表示されますアクションでそれを参照してください。

http://jsfiddle.net/QwqT7/show/

UPDATE 2:ちょうどMac用のFirefox、フルスクリーンモードでは何の問題でテスト

。 問題はWebkitのみであるようです。

+1

確定しました。バグのように見えます。 http://jsfiddle.net/QwqT7/show/ –

+0

ボタンを使ってフルスクリーンにすると、それが起こるだけです。 'F11'を実行すると正しく動作します。 –

+0

あなたは正しいですか、質問を更新してjsfiddleを追加します。ありがとう – Julian

答えて

2

Mozilla noteは言う:セキュリティ上の理由から

、ほとんどのキーボード入力がフルスクリーンモードでブロックされています。しかし、Google Chromeでは、フラグを指定してメソッドを呼び出すことでキーボードのサポートをリクエストできます。

+1

これはChromeの問題を少なくとも解決するのに役立ちました。私は自分のコードを掲載しました。それは他の人に役立つことがあります。 – Julian

3

これは完璧な解決策ではありませんが、少なくともChromeがキーボードコマンドに応答してSafariに全画面キー入力がないモードでフォールバックします。

function launchFullScreen(element) { 
    if(element.requestFullScreen) { 
    element.requestFullScreen(); 
    } else if(element.mozRequestFullScreen) { 
    element.mozRequestFullScreen(); 
    } else if(element.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)){ 
    element.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); 
    } 
    setTimeout(function() { 
    if (!document.webkitCurrentFullScreenElement && element.webkitRequestFullScreen()) { 
     element.webkitRequestFullScreen(); 
    } 
    },100); 
}