Ограничения на localStorage

localStorage — key-value браузерное хранилище, в котором веб-приложение может сохранять свои данные сколько угодно долго. Я рассказывал о нём в книге «Реактивные веб-сайты». По стандарту рекомендуется выделять для каждого приложения (т. е. хоста) пять мегабайт.

Но не всё так просто:

Last time I’ve checked, Chrome 5.0.375.99 beta let me save 2600-2700 thousands of characters, Firefox 3.5.9 — 5200-5300k, Explorer 8 — 4900-5000k, and Opera 10.60 popped a dialog, letting me give the script unlimited storage.

Причём, я ещё заметил, что браузеры с разной скоростью выделяют место под хранилище. Некоторые («Опера», например, выделяет его за время O(1)), другие заметно замедляются с ростом размера выделяемой памяти.

Добавлено позднее: кстати. У объекта localStorage есть несколько методов, в тот же самый объект отображаются, как свойства, пары ключ/значение. В любом браузере, кроме FF, можно запросто перезаписать любой из методов этого объекта. Только FF предусмотрительно не позволяет этого делать. Жаль только, что он не позволяет этого делать молча, не выбрасывая exception.

Если читать стандарт, то ощущение такое, что авторы просто не учли этого случая и разрешают перезаписывать эти методы.

Поделиться
Отправить
7 комментариев
hshhhhh.name

У объекта localStorage есть несколько методов, в тот же самый объект отображаются и пары ключ/значения — как свойства этого объекта.

болк, вы разрушаете мой мозг. перепишите по-русски, пожалуйста :)

Евгений Степанищев (bolknote.ru)

Комментарий для hshhhhh.name:

А что не так? Мозг напрягать приходится? :)

indeec17

Комментарий для Евгения Степанищева:

а внутри try, эта exception обрабатывается?

Евгений Степанищев (bolknote.ru)

Комментарий для indeec17:

Какой? Я же сказал, что exception не порождается.

indeec17

Комментарий для Евгения Степанищева:

ааааа

hshhhhh.name

Комментарий для Евгения Степанищева:

А что не так? Мозг напрягать приходится? :)

Я был бы счастлив если так -​-​ не проходит через языковой анализатор ). Неправильно как-то с точки зрения языка.

Евгений Степанищев (bolknote.ru)

Комментарий для hshhhhh.name:

Ладно, переписал :)

Популярное