Javascript 在其他域中设置本地存储

Javascript 在其他域中设置本地存储,javascript,local-storage,cross-domain,Javascript,Local Storage,Cross Domain,我试图在域(比如我的site.com)中设置一个变量,我可以从其他站点(比如我的other site.com)访问该变量。基本上,当我从服务器收到响应时,我希望在localStorage中设置一个变量,然后将页面重定向到下一个站点(例如:在my-site.com中,我设置变量'foo'并重定向页面。在my-other-site.com中,我希望访问该变量(foo))。哦我差点忘了,我在用Vue 我已经尝试使用iframe,使用本教程()。我尝试了一些库,比如cross-storage()和bif

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

我已经尝试使用iframe,使用本教程()。我尝试了一些库,比如cross-storage()和biforst-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 
基本上,我希望在其他域中同时使用变量user和token


如果有人能帮我带上ideias或类似的东西,那对我会有很大帮助。

Bifrost cors解决方案

您必须在两个域中初始化lib。
在exampleA.com上
var bifrostCors=新的bifrostCors(“http://exampleB.com/”

在exampleB.com上
var bifrostCors=新的bifrostCors(“http://exampleA.com/“”

然后您可以使用

bifrostCors.setLocalStorage({key:“user”,value:“persons”})
使用bifrostCorslib解决方案

您必须在两个域中初始化lib。
在exampleA.com上
var bifrostCors=新的bifrostCors(“http://exampleB.com/”

在exampleB.com上
var bifrostCors=新的bifrostCors(“http://exampleA.com/“”

然后您可以使用

bifrostCors.setLocalStorage({key:“user”,value:“persons”})
另一种解决方案是:

var DifferentWindow=window.open("http://www.example.com/");
DifferentWindow.localStorage.setItem("Key","Value");
这是用简单的Javascript编写的,所以我希望它能有所帮助
它所做的是用链接打开一个新窗口,并将该窗口的本地存储中的一个变量设置为“value”。

另一种解决方案是:

var DifferentWindow=window.open("http://www.example.com/");
DifferentWindow.localStorage.setItem("Key","Value");
这是用简单的Javascript编写的,所以我希望它能有所帮助
它所做的是用链接打开一个新窗口,并将该窗口本地存储中的一个变量设置为“value”。

您不能直接对其他域执行任何操作。您需要在服务器上与它们进行通信,或者如果一个页面引用了一个窗口或包含另一个窗口的iframe,则使用
postMessage()
。但是,当加载页面(我要使用这些变量的页面)时,我可以使用它吗?不,您不能。每个域都有自己的
localStorage
。当你重定向到另一个域时,你无法访问上一个域的数据。我明白了,谢谢你的评论:)。我将尝试找到一种无需查询参数的方法。您无法直接对其他域执行任何操作。您需要在服务器上与它们进行通信,或者如果一个页面引用了一个窗口或包含另一个窗口的iframe,则使用
postMessage()
。但是,当加载页面(我要使用这些变量的页面)时,我可以使用它吗?不,您不能。每个域都有自己的
localStorage
。当你重定向到另一个域时,你无法访问上一个域的数据。我明白了,谢谢你的评论:)。我将尝试找到一种无需查询参数即可完成此操作的方法。