msFullscreenEnabled的规范是什么

时间:2015-06-28 20:14:10

标签: javascript dom specifications msdn

MDN有the following来说明有关fullscreenEnabled:

的信息
  

fullscreenEnabled属性会告诉您文档当前是否处于允许请求全屏模式的状态。

我认为这意味着:只要有可能请求全屏,该财产就会成立。

微软对此有相同的措辞here

  

如果文档允许元素以全屏模式显示,则返回true。否则返回false

但是,在MSDN detail page about the property上,有以下相互矛盾的信息:

  

指示元素当前是否处于全屏模式的标志。

  

因为当元素当前处于全屏模式时,此属性仅返回true,所以它不应用于特征检测。

这是怎么回事?

更新

我的测试显示IE 11上的msFullscreenEnabled属性确实会产生漏报。

1 个答案:

答案 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之后默认启用。它的语法实际上是mozFullScreenEnabledwebkit的原则相同。

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的浏览器支持。