为什么我们应该更喜欢document.visibilityState到document.hidden?

时间:2018-06-13 22:01:33

标签: javascript specifications

我正在查看document.hidden规范here,以了解隐藏的确切含义:

  
      
  1. 如果确定可见性状态的步骤返回visible,则返回false
  2.   
  3. 否则,请返回true
  4.         

    注意

         

    由于历史原因,维护对hidden属性的支持。开发人员应尽可能使用visibilityState

visibilityState是另一个可以返回四个字符串之一的属性:'visible''hidden''prerender''unloaded'

document.hidden(如上述规则所示)为true'visible'返回所有其他字符串的false

我对这张纸条很好奇。他们为什么说开发者应该更喜欢visibilityStatehidden

仅仅是因为visibilityState为您提供了更多的权力" (重新:粒度),因为它更具体地说明了文档处于什么状态,而hidden通过将四个状态转换为两个状态来愚弄它,"隐藏"或者"没有隐藏"?

我知道这可能只是编写规范的人可以回答,但也许他们会在这里爬行。

优先注意事项: 我猜这可能会被关闭为基于意见的",因为它会吸引固执己见的答案,虽然它肯定会吸引这样的答案,但这可以客观地回答那些编写规范的人,所以我会抓住机会。

2 个答案:

答案 0 :(得分:1)

hidden 因历史原因保留的通知已在 this PR 中删除。

有一些关于此更改的讨论 here

答案 1 :(得分:0)

我没有编写规范,但我认为你是正确的 - 引入visibilityState使hidden过时了。 hidden没有做visibilityState没有做得更好的事情。考虑到他们坚持使用后者,它很可能会走向弃用。