我在这里有一个简单的疑问:
文档对象范围在浏览器选项卡中:我的意思是如果我设置
document.tab1 ='tab1'
在一个浏览器标签中,它在其他标签中无法使用。
但是document.cookie
不同,它会在标签之间保留。
但是它被定义为文档的属性,但是如果我从一个浏览器选项卡中添加一个cookie条目,则可以从其他选项卡访问此条目。我理解为文档对象范围在选项卡内。但这里有一个文档& #39; s属性由其他人共享。我知道document
或window
个对象有类似的实例,它们是默认属性或对象。
为什么cookie
喜欢在浏览器标签中具有范围的对象,定义为在document
等标签中限制范围的对象的属性?
或者纠正我的理解。
答案 0 :(得分:1)
为什么类似cookie的对象在浏览器选项卡中具有范围,定义为在
document
之类的选项卡中限制范围的对象的属性?
他们没有。每个标签都有自己的document.cookie
,localStorage
或window.name
。它们在不同的(JS)环境中运行,作为不同事件循环的一部分。
当然,每个getter / setter都访问浏览器管理的相同的domain,page或tab特性属性,但它只是一个JS接口;因此它位于JS运行时中的某个JS对象上。