我这里有一个简单的疑问:
文档对象范围位于浏览器选项卡内:我的意思是如果我设置
document.tab1 ='tab1'
在一个浏览器选项卡中 它在其他选项卡中不可用。
但是 document.cookie
不同,它跨选项卡持续存在。
但它被定义为文档的属性,如果我从一个浏览器选项卡在 cookie 中添加一个条目,则可以从其他选项卡访问该条目。我的理解是文档对象范围位于选项卡内。但是这里有一个文档的属性(property)在他人之间共享。我知道有类似的实例可用于 document
或 window
对象,它们是默认属性或对象。
为什么 cookie
之类具有跨浏览器选项卡范围的对象,定义为范围仅限于 document
等选项卡内的对象的属性?
或者纠正我的理解。
最佳答案
Why cookie-like objects having scope across browser tabs, defined as a property of objects which have scope restricted within a tab like
document
?
他们没有。每个选项卡都有自己的 document.cookie
、localStorage
或 window.name
。它们作为不同事件循环的一部分运行在不同的 (JS) 环境中。
当然,每个 getter/setter 都会访问浏览器管理的相同域、页面或选项卡特定属性,但它只是一个 JS 接口(interface);因此它位于 JS 运行时中的某个 JS 对象上。
关于javascript - document 和 document.cookie 之间的范围差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33827210/