ОБРАТИТЕ ВНИМАНИЕ: БЕЗОПАСНОСТЬ ФАЙЛОВ COOKIE В FIREFOX В браузере Firefox безопасность доступа к сеансовому и локальному хранилищу реализована
несколько иначе: если использование файлов cookie отключено, то при попытке доступа к хра-
нилищам
sessionStorage и localStorage возвращается ошибка Следовательно, прежде
чем обращаться к любому из этих двух API хранения, нужно проверить, можно ли создавать
файлы cookie:
var cookiesEnabled = (function () {
// id — это наше тестовое значение
var id = new Date().getTime();
// создаем файл cookie для проверки доступа к таким файлам
document.cookie = '__cookieprobe=' + id + ';path=/';
// если файл cookie создан, значит, все в порядке
return (document.cookie.indexOf(id) !== -1);
})();
Этот код создает файл cookie и сразу же пытается снова его считать Если чтение возвращает
ошибку, значит, система безопасности блокирует попытки создания файлов cookie, и, следова-
тельно, обратиться к
sessionStorage или localStorage тоже не получится Когда исполь-
зование файлов cookie отключено, считывание данных из хранилищ
sessionStorage или
localStorage приводит к ошибке, а исполнение кода JavaScript прерывается
В качестве альтернативы поддержку Web Storage можно протестировать с помощью оператора
try/catch, а также добавить поддержку метода заполнения на базе JavaScript (как рассказывается
в главе 12 и немного в этой)
Но веб-хранилище так сильно отличается в лучшую сторону от файлов cookie не только
за счет API, но также благодаря связанной системе событий. Мы поговорим о событиях
ближе к концу главы.