3

假设我打开 Chrome 并跳入 javascript 控制台。如果我跑

localStorage.setItem('test', 'THIS IS A VALUE');

然后关闭浏览器,重新打开,然后运行

localStorage.getItem('test');

结果将是可以预见的“这是一个价值”。但是,如果我要导航到打开浏览器时所在的另一个页面,即不在 about:blank; 或任何主页,运行 .getItem 将导致 null。

似乎 localStorage 特定于某个页面。有没有办法在一个页面上存储一个可以在任何页面上使用的值?

假设我想在一个页面上生成一个 ID,然后在一个完全不相关的站点上检查相同的 ID,这可能吗?现在我已经把它打出来了,听起来有点安全风险。

4

1 回答 1

3

每个域都有一个单独的 LocalStorage 存储,很像 cookie。考虑替代方案:如果 LocalStorage 是全局的,不同的网站可以读取和写入彼此的存储值。

存储跨多个站点“跟踪”用户的持久数据在某种程度上是有意识的,是困难的。您将需要明确采取跨域的操作(例如,从另一个站点加载内容或将数据发布到另一个站点)来实现此目的。

于 2012-06-29T00:54:25.720 回答