0

我有一个应用程序可以在同一个域中打开多个窗口(使用 javascript)。

我想在这些窗口之间共享一些 javascript 对象(例如,一个包含一些配置的对象)。

是否可以在 javascript 中执行此操作以及如何执行此操作?

谢谢。

4

2 回答 2

2

有两种可能:本地存储和会话存储

会话存储存储会话持续时间的值,当浏览器关闭并重新打开时,该值被删除。

// Store value
sessionStorage.setItem('key', 'value');
//or
sessionStorage['key'] = value; 
// Retrieve value
alert(sessionStorage.getItem('key'));

本地存储存储超过会话持续时间的值,即使关闭并重新打开浏览器后也可以检索该值。

// Store value
localStorage.setItem('key', 'value');
//or
localStorage['key'] = value; 

// Retrieve value 
alert(localStorage.getItem('key'));
于 2013-01-28T15:07:50.407 回答
0

使用localStoragewithJSON将对象存储为字符串:

环境:

window.localStorage.setItem('yourKey', JSON.stringify(yourObject));

得到:

var yourObject = JSON.parse(window.localStorage.getItem('yourKey'));

localStorage只要这些数据存在于同一个域中,这些数据就会在您的所有页面之间共享。

于 2013-01-28T15:08:36.140 回答