JavaScript能否存储特定浏览器窗口实例特有的数据?

JavaScript能否存储特定浏览器窗口实例特有的数据?,javascript,Javascript,是否有一种JavaScript方式来存储浏览器窗口特有的数据,这样,如果用户打开了多个浏览器窗口(都是相同的浏览器,比如Firefox),那么每个窗口都将具有唯一的数据。。。与所有窗口共享的cookie不同 我的用户需要在同一个.html页面上打开多个窗口,以查看动态嵌入数据。 每个窗口将同时动态显示来自不同嵌入式源的数据 因此,我的JavaScript需要能够区分一个窗口和另一个窗口。如果将数据附加到不同的窗口实例,每个窗口上下文将不同于其他窗口 var w = window.open('so

是否有一种JavaScript方式来存储浏览器窗口特有的数据,这样,如果用户打开了多个浏览器窗口(都是相同的浏览器,比如Firefox),那么每个窗口都将具有唯一的数据。。。与所有窗口共享的cookie不同

我的用户需要在同一个.html页面上打开多个窗口,以查看动态嵌入数据。 每个窗口将同时动态显示来自不同嵌入式源的数据


因此,我的JavaScript需要能够区分一个窗口和另一个窗口。

如果将数据附加到不同的窗口实例,每个窗口上下文将不同于其他窗口

var w = window.open('somepage.html');
window.foo = 'bar';
w.foo = 'baz';

我唯一能想到的就是设置window.name。。。我甚至没有尝试过,但据我所知,它应该能像cookie一样在页面导航中生存下来-我马上回来,做一些测试

--

似乎工作正常,我不确定window.name的最大长度是多少(编辑:2MB跨浏览器,如果排除Opera-,则更多)。我发现的唯一一件事是在Chrome中,如果你访问另一个域,window.name会丢失,但在其他浏览器中,该名称仍然存在,因此它是可行的,但不能100%确定你是否应该依赖它在将来一直工作

每个窗口/选项卡存储状态的另一种方法是通过URI,但在涉及导航的情况下,这也会变得棘手。我的意思是,这将需要一个严格的使用特定的导航机制,以确保它不会意外丢失,它也将在您的用户的普通视图。如果这是一个设计目标的话,它的好处是可以被书签/电子邮件等

--


所有这些方法都不适用于个人/敏感/关键数据,但对于易失性/瞬态视图状态,我看不出任何问题。

您是否尝试过使用javascript的
窗口
变量?它对于您拥有的每个视口都应该是唯一的openHmm,window=document(在这方面)。如果用户导航到另一个页面,它将被重置。