Javascript webkitRequestFullScreen在传递Safari 5.1.2中的Element.ALLOW_KEYBOARD_输入时失败
在尝试使用javascript全屏api时,在Safari 5.1.2中特别遇到以下问题 通过将以下行复制并粘贴到加载页面上的浏览器中,可以看到效果 这适用于Chrome 15和Safari 5.1.2:Javascript webkitRequestFullScreen在传递Safari 5.1.2中的Element.ALLOW_KEYBOARD_输入时失败,javascript,safari,fullscreen,Javascript,Safari,Fullscreen,在尝试使用javascript全屏api时,在Safari 5.1.2中特别遇到以下问题 通过将以下行复制并粘贴到加载页面上的浏览器中,可以看到效果 这适用于Chrome 15和Safari 5.1.2: javascript:document.querySelector('body').webkitRequestFullScreen(); javascript:document.querySelector('body').webkitRequestFullScreen(Element.A
javascript:document.querySelector('body').webkitRequestFullScreen();
javascript:document.querySelector('body').webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
这在Chrome 15中起作用,但在Safari 5.1.2中无提示地失败:
javascript:document.querySelector('body').webkitRequestFullScreen();
javascript:document.querySelector('body').webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
根据以下文档,ALLOW_键盘输入似乎应该在Safari中工作:
你知道为什么这不起作用吗?我刚刚遇到了同样的问题,这肯定是一个bug 这可能是一个严重的问题。我想我们必须使用好的浏览器嗅探
...(/Safari/.test(navigator.userAgent) ? undefined : Element.ALLOW_KEYBOARD_INPUT)
[编辑]…在这种情况下,无法进行键盘输入。所以我想最好暂时取消Safari的全屏模式[/edit]
请记住,目前全屏API还处于非常早期的阶段,不应在生产中使用这就是已知的Safari bug。在全屏切换过程中可以嗅出:
someElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
if (!document.webkitCurrentFullScreenElement) {
// Element.ALLOW_KEYBOARD_INPUT does not work, document is not in full screen mode
}
使用此实时嗅探,您的代码将支持将来修复Safari中的错误。
someElement.webkitRequestFullScreen(Element.ALLOW\u KEYBOARD\u INPUT)
在chrome中工作
和someElement.webkitRequestFullScreen()
在safari 5.1.7中工作
所有测试都基于windows 7。我必须将Chrome中读取的
webkitCurrentFullScreenElement
属性超时至少80ms,然后该属性为空(似乎与Chrome用于全屏的动画有关)。有什么我可以直接检查的吗?有文档。webkitIsFullScreen
,但我已经测试过了,在Chrome中变为true之前还需要一个超时。然而,Chrome并不真正需要嗅探,因为它可以全屏显示。