切换到全屏模式后(在 chrome 和 safari 上测试),我无法在文本输入中输入任何字母或数字,但我仍然可以输入特殊字符,如 *¨%£
但没有简单的字母...
代码非常简单:
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);
正如 Jan Dvorak 提到的,问题仅在使用 js 函数时出现,在使用浏览器内置的全屏按钮/快捷方式时不会出现该错误
查看实际效果:
http://jsfiddle.net/QwqT7/show/
更新 2:
刚刚在 Firefox for mac 上测试,全屏模式没有问题。 看来问题只出在 webkit 上。
最佳答案
这不是一个完美的解决方案,但至少它可以让 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);
}
关于javascript - 无法在 webkit 浏览器的全屏模式下在文本输入中键入任何字母或数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16266897/