MDN有the following来说明有关fullscreenEnabled:
的信息
fullscreenEnabled
属性会告诉您文档当前是否处于允许请求全屏模式的状态。
我认为这意味着:只要有可能请求全屏,该财产就会成立。
微软对此有相同的措辞here:
如果文档允许元素以全屏模式显示,则返回
true
。否则返回false
。
但是,在MSDN detail page about the property上,有以下相互矛盾的信息:
指示元素当前是否处于全屏模式的标志。
和
因为当元素当前处于全屏模式时,此属性仅返回true,所以它不应用于特征检测。
这是怎么回事?
更新
我的测试显示IE 11上的msFullscreenEnabled
属性确实会产生漏报。
答案 0 :(得分:4)
您必须了解每个浏览器都有自己特定的fullscreenEnabled
实现。
因为W3C全屏规范不是最终的,大多数浏览器 供应商为API添加前缀。最好有一个功能,可以跨所有前缀请求全屏模式。
然而,在W3全屏API文件(2014年11月18日)的某个地方停止使用,以支持WHATWG在Fullscreen API specification上的工作 - 正在进行中。
<小时/> Internet Explorer 在版本11之前未实现它。在IE11中,它处于实验阶段(名为
msFullscreenEnabled
)。 Microsoft Edge及其他选择使用名称fullscreenEnabled
。 msFullscreenEnabled
的假阴性,它处于试验阶段,不应该出乎意料。
Mozilla Firefox 的fullscreenEnabled也是实验性的。它在Firefox 10之后默认启用。它的语法实际上是mozFullScreenEnabled
。
webkit
的原则相同。
mozFullScreenEnabled
的{{3}}是:
报告全屏模式是否可用。全屏模式仅适用于没有窗口的页面 插件在其任何文件中,如果所有元素都是如此 包含文档的allowfullscreen属性设置。
符合当前的全屏API规范definition:
fullscreenEnabled
如果文档具有显示能力,则返回true 支持全屏和全屏元素,否则为false。
我的猜测是MS跟随停止的W3C全屏api doc,它在某些时候发生了变化,最终得到了与当前工作api不同的规范。 我只在mentions上发现了W3C已停止使用的文档参考,这似乎支持了这一点。
我相信Microsoft Fullscreen API documentation中提及的内容将在Microsoft Fullscreen API documentation中更新。但我还没有完全掌握Edge浏览器,所以我不能肯定地说这是错误的规范还是实现。
<小时/> 您还可以查看HTML 5全屏API fullscreenenabled property description的背景/必要性以及API here的浏览器支持。