为什么W3C推荐总是说"文档窗口对象"或"文档对象的Window对象"?

时间:2017-05-17 03:53:46

标签: javascript dom browser w3c

W3C Web Storage (Second Edition)文档中,建议总是说"文档的窗口对象"或"文档对象的Window对象"而不是" Window对象的Document对象"。

但是我们都知道我们在javascript中使用window.document。

" Document"之间的区别是什么?在推荐和我们总是在javascript中使用的window.document对象?为什么不" Window对象的Document对象"?

1 个答案:

答案 0 :(得分:0)

这是因为(会话)存储与文档而不是窗口相关联。或者更具体地说,它是根据当前文档的来源进行初始化的:

https://www.w3.org/TR/webstorage/#the-sessionstorage-attribute

  

在浏览上下文中创建新的Document时有一个   在顶级浏览上下文中,用户代理必须检查是否存在   顶级浏览上下文具有会话存储区域   文件的来源。如果是,那就是Document分配的。Document   会话存储区。如果没有,那就是一个新的存储区域   必须创建文档的原点,然后 Document' s   分配的会话存储区域。 Document指定的存储区域   在{{1}}的生命周期内不会发生变化。

当然,每个窗口都有自己的文档,每个文档的窗口都只有 1 ,并且在WebStorage规范中没有任何说明,访问关系也没有明确说明。

因此,当他们说" 文档的窗口对象"时,他们会引用document's browsing context,可访问为document.defaultView,这些是在HTML规范中定义(window.document旁边)。

1:它甚至不完全正确,它们可能具有关联的文档/窗口,但在我们访问存储的所有环境中,它们都会。