Вам на самом деле не нужно хранение сессии.В случае, который вы описали, вы хотите, чтобы статус показа / скрытия разделов сохранялся между страницами для одного клиента.Сеанс был бы излишним, так как он требует от сервера чего-то тривиального.
Мне бы хотелось использовать что-то вроде localStorage (или куки, если вы действительно хотите) непосредственно в jQuery.Он останется на клиенте, и сервер не будет возражать.
РЕДАКТИРОВАТЬ
Функция для проверки локального хранилища:
var canHazStorage = function () {
"use strict";
try {
return 'localStorage' in window && window.localStorage !== null;
} catch(e) {
return false;
}
};
Вам потребуетсячтобы изменить код переключения для установки значения:
$('#section1').toggle();
if ( canHazStorage ) {
if ( is_shown ) { // you'll need to write that yourself
window.localStorage['section1'] = true;
} else {
window.localStorage['section1'] = false;
}
} else {
// same code using cookies
}
А в функции инициализации:
if ( canHazStorage ) {
var toggled = window.localStorage['section1'];
$('#section1').toggle(toggled);
} else {
// same code using cookies
}