Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Ограничения на 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 2010

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

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

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

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

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

indeec17 2010

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

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

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

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

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

indeec17 2010

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

ааааа

hshhhhh.name 2010

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

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

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

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

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

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