У меня есть приложение, которое открывает несколько окон (с JavaScript) в одном домене.

Я хотел бы поделиться некоторыми объектами javascript между этими окнами (объект, который содержит некоторые конфигурации, например).

Можно ли сделать это в JavaScript и как это сделать?

Спасибо.

0
Kiva 28 Янв 2013 в 18:54

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'));
2
Flot2011 28 Янв 2013 в 15:07

Используйте localStorage вместе с JSON для хранения ваших объектов в виде строк:

Настройка:

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

Получение:

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

localStorage данные будут доступны всем вашим страницам, если они находятся в одном домене.

0
jbabey 28 Янв 2013 в 15:08