window.name 作为 cookie 的替代品

Posted

技术标签:

【中文标题】window.name 作为 cookie 的替代品【英文标题】:window.name as an alternative to cookie 【发布时间】:2012-09-26 11:15:09 【问题描述】:

我需要为同一会话的每个选项卡/窗口存储唯一数据,因此我不能使用 cookie。此外,这些天 chrome 似乎在浏览器重新启动时保留会话 cookie。所以我使用 window.name 作为存储所需数据的方式。

我对 window.name 的使用是在一个可以被其他人嵌入的脚本中。所以我想知道还有哪些其他库使用window.name(我相信它用于跨域数据传输)?

【问题讨论】:

您是否尝试过location.hash 来存储特定于标签的数据? 但我需要跨页面导航的数据。另外,如果网页已经在使用哈希? 您可以连接到您的链接的onclick 以使其永久化;如果已经有哈希,你必须想出更聪明的东西:) 【参考方案1】:

window.name 在现代浏览器中不会跨域保存,因此它被放弃用于跨域数据传输。

【讨论】:

其他库有没有其他方式使用window.name?当包含我的脚本时,我不想破坏另一个库。 如果网站针对旧浏览器并使用旧库,它可能用于跨域传输。此外,如果表单以具有特定名称的窗口为目标,并且您意外更改了名称。即<form target=bird><input type=submit></form><iframe name=bird src="">

以上是关于window.name 作为 cookie 的替代品的主要内容,如果未能解决你的问题,请参考以下文章

浏览器存储

JWT 和签名 cookie 有啥区别?

目前HTTP通信替代Cookie记录稳定的状态信息的方法有哪些?

我对 Roy Fielding 的 REST 替代 HTTP cookie 的解释是不是正确?

关于用cookie替代userid

JS传参技巧总结