我有一个应用程序可以在同一个域中打开多个窗口(使用 javascript)。
我想在这些窗口之间共享一些 javascript 对象(例如,一个包含一些配置的对象)。
是否可以在 javascript 中执行此操作以及如何执行此操作?
谢谢。
我有一个应用程序可以在同一个域中打开多个窗口(使用 javascript)。
我想在这些窗口之间共享一些 javascript 对象(例如,一个包含一些配置的对象)。
是否可以在 javascript 中执行此操作以及如何执行此操作?
谢谢。
有两种可能:本地存储和会话存储
会话存储存储会话持续时间的值,当浏览器关闭并重新打开时,该值被删除。
// 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'));
使用localStorage
withJSON
将对象存储为字符串:
环境:
window.localStorage.setItem('yourKey', JSON.stringify(yourObject));
得到:
var yourObject = JSON.parse(window.localStorage.getItem('yourKey'));
localStorage
只要这些数据存在于同一个域中,这些数据就会在您的所有页面之间共享。