Javascript 如何在客户端网站上打开第三方本地存储商店?

Javascript 如何在客户端网站上打开第三方本地存储商店?,javascript,html,local-storage,Javascript,Html,Local Storage,我正在编写一个第三方本机JavaScript组件,它在客户端上使用localStorage 当查看Chrome DevTools上的Resources选项卡时,我看到我的localStorage条目存储在客户机域下。例如:假设我的文件来自cdn.3rd.com,并用作stackoverflow.com上的资源,那么在本例中,我的本地存储条目保存在存储下 然而,看看不同的网站,我发现通常第三方本地存储条目保存到第三方域下的存储中。例如,在bbc.com上,我看到一个iperceptions.com

我正在编写一个第三方本机JavaScript组件,它在客户端上使用localStorage

当查看Chrome DevTools上的Resources选项卡时,我看到我的localStorage条目存储在客户机域下。例如:假设我的文件来自cdn.3rd.com,并用作stackoverflow.com上的资源,那么在本例中,我的本地存储条目保存在存储下

然而,看看不同的网站,我发现通常第三方本地存储条目保存到第三方域下的存储中。例如,在bbc.com上,我看到一个iperceptions.com商店,在cnn.com上有一个outbrain.com商店


那么,如何在客户端页面上为自己的域打开localStorage存储?

由于以下限制,您无法访问其他第三方站点的localStorage

HTML5不允许本地存储跨源访问

基本上,
localStorage
是特定于源站的资源,因此禁止从其他站点访问localStorage。在HTML5草案的早期阶段,有一个
globalStorage
,它完全允许跨域访问,但出于安全考虑,它被删除了。因此WebAPI目前非常重视安全性

已知解决方案-仅当您拥有目标站点的管理权限时才有效

有一个非常重要的问题。但是,这种方法要求您修改目标站点的客户端脚本,以便通过消息发布跨iframe将本地存储内容中继到您的站点。因此,如果没有对目标站点的完全管理访问权限,则无法执行此操作。