说我打开Chrome并跳转到javascript控制台。如果我跑
localStorage.setItem('test', 'THIS IS A VALUE');
然后关闭浏览器,重新打开它,然后运行
localStorage.getItem('test');
结果将是可预测的“这是一个值”。但是,如果我要打开浏览器时导航到我所在的其他页面,即不是关于:空白;或者它可能是任何主页,运行.getItem将导致null。
似乎localStorage特定于某个页面。有没有办法在一个可以在任何页面上运行的页面上存储值?
假设我想在一个页面上生成一个ID,然后在完全不相关的站点上检查相同的ID,这可能吗?现在我把它打出来听起来有点像安全风险。
答案 0 :(得分:3)
每个域都有一个单独的LocalStorage商店,就像cookie一样。考虑另一种选择:如果LocalStorage是全局的,不同的网站可以读取和写入彼此的存储值。
存储跨多个站点“跟踪”用户的持久性数据在某种程度上是有意的。您需要明确地采取跨越域的操作(例如,从其他站点加载内容或将数据发布到另一个站点)来实现此目的。