2015-11-05 2 views
0

Я пытаюсь сохранить переменные javascript на разных страницах с помощью sessionStorage.Javascript, сохраняющий информацию по страницам

Как я понимаю, синтаксис:

sessionStorage.setItem('whateverkey', 'whatever value'); 

Есть ли способ, чтобы сохранить переменные внутри sessionStorage или другие простые способы для сохранения информации между страницами

Спасибо заранее!

+0

Этот код прекрасно работает для меня. Как вы пытаетесь получить к нему доступ? ETA: О, хранение сеансов не будет работать на разных страницах. –

+2

используйте 'localStorage' вместо' sessionStorage' – dandavis

+0

Спасибо! localStorage работал для меня – Zerotik

ответ

1

Моя ценность 'null', когда я пытаюсь получить к нему доступ с другой страницы.

Это exactly how sessionStorage is designed to work:

Свойство sessionStorage позволяет получить доступ к объекту сеанса хранения. sessionStorage аналогичен Window.localStorage, единственная разница заключается в том, что данные, хранящиеся в localStorage, не имеют срока годности, данные, хранящиеся в sessionStorage, очищаются при завершении сеанса страницы. Сеанс страницы длится до тех пор, пока браузер открыт и выживет через перезагрузку и восстановление. Открытие страницы в новой вкладке или окне приведет к инициированию нового сеанса, который отличается от того, как работают cookie сеанса.

Если вы хотите, чтобы ваши данные сохранялись на разных страницах одного и того же происхождения, вместо этого используйте localStorage.

1

sessionStorage используется для хранения данных для одной страницы/вкладки, после ее закрытия вы теряете данные, и если вы откроете другую вкладку с тем же доменом, у вас будет новый экземпляр sessionStorage clean.

Что вы хотите, это использовать localStorage, который доступен для всех вкладок (с тем же доменом).

sessionStorage поддерживает отдельную область памяти для каждого данного происхождения , которая доступна на протяжении страницы сессии (до тех пор, как открыт браузер, включая обновление страницы и восстановление).

localStorage делает то же самое, но сохраняется, даже если браузер закрыт и вновь открыт. Source.

0

Вы можете сохранять строки и целые числа, вы не можете сохранять объекты. Однако вы можете сериализовать вещи и сохранить JSON.

localStorage предназначен для постоянного хранения данных, а sessionStorage - это временное хранение данных, пока пользователь не закроет веб-браузер.

Синтаксис, который вы использовали, верен. Вы используете setItem для хранения и getItem для загрузки.

Пример:

localStorage.setItem('name', 'Alice'); 
localStorage.setItem('marbles', 22); 
localStorage.setItem('admin', true); 

или:

var animal = {"type": "cat", "food": "catfood"}; 
localStorage.setItem('animal', JSON.stringify(animal)); 

, то вы можете получить:

var json = localStorage.getItem('animal'); 
var animal = JSON.parse(json);