在W3C Web Storage (Second Edition)文档中,建议总是说"文档的窗口对象"或"文档对象的Window对象"而不是" Window对象的Document对象"。
但是我们都知道我们在javascript中使用window.document。
" Document"之间的区别是什么?在推荐和我们总是在javascript中使用的window.document对象?为什么不" Window对象的Document对象"?
答案 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:它甚至不完全正确,它们可能具有关联的文档/窗口,但在我们访问存储的所有环境中,它们都会。 子>