首页 > 解决方案 > 在不同的域中设置 localStorage

问题描述

我正在尝试在域(如 my-site.com)中设置一个变量,我可以从其他站点(如 my-other-site.com)访问该变量。基本上,当我收到来自服务器的响应时,我想在 localStorage 中设置一个变量,然后将页面重定向到下一个站点(例如:在 my-site.com 中,我设置变量 'foo' 并重定向页面。在 my-other-site.com 中,我想访问该变量(foo))。哦!我差点忘了,我用的是 Vue

我已经尝试使用 iframe,使用本教程(https://blog.teamtreehouse.com/cross-domain-messaging-with-postmessage)。我尝试了一些库,例如跨存储(https://www.npmjs.com/package/cross-storage#overview)和 biforst-cors(https://www.npmjs.com/package/bifrost-cors)但是这些两者都没有像我预期的那样工作。我知道可以使用查询参数,但我不能使用它知道

我有这个:

localStorage.clear()
window.localStorage.setItem('user', JSON.stringify(response.body.data) )                                                
window.localStorage.setItem('token', response.body.token)                                                
window.location.href = `http://localhost:8081/#/` //redirect 

基本上,我想在其他域中同时使用变量用户和令牌。

如果有人可以帮助我带来想法或类似的东西,那将对我有很大帮助。

标签: javascriptlocal-storagecross-domain

解决方案


一个不同的解决方案是:

var DifferentWindow=window.open("http://www.example.com/");
DifferentWindow.localStorage.setItem("Key","Value");

这是在简单的 Javascript 中,所以我希望它有所帮助


推荐阅读