Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript webkitRequestFullScreen在传递Safari 5.1.2中的Element.ALLOW_KEYBOARD_输入时失败_Javascript_Safari_Fullscreen - Fatal编程技术网

Javascript webkitRequestFullScreen在传递Safari 5.1.2中的Element.ALLOW_KEYBOARD_输入时失败

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全屏api时,在Safari 5.1.2中特别遇到以下问题

通过将以下行复制并粘贴到加载页面上的浏览器中,可以看到效果

这适用于Chrome 15和Safari 5.1.2:

 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并不真正需要嗅探,因为它可以全屏显示。