Большинство современных браузеров поддерживают localStorage.
var isLocalStorage = ('localStorage' in window)
, mode = (isLocalStorage && localStorage.mode) || 'compact'; //загрузили из LS или поставили дефолтное значение
//какой-то код
//когда меняем mode, записываем его в LS
mode = 'detail';
if (isLocalStorage) {
localStorage.mode = mode;
}
Лучше вынести в функцию:
var mode = ... , isLocalStorage = ... ;
function setMode(modeValue) {
mode = modeValue;
if (isLocalStorage) {
localStorage.mode = modeValue;
}
}
...
setMode('compact');