Я думаю, что ваш лучший выбор - использовать локальное хранилище, так как это наиболее широко реализованный стандарт параметров хранилища, доступных в HTML5.
IndexedDB был чрезмерно спроектирован (на мой взгляд) и не получил широкой поддержки (пока) для всей настойчивости Mozilla в том, что лучше, чем нарезанный хлеб , и будущее WebSQL выглядит немногонеопределенность, так как Mozilla отказывается от ее реализации , и она больше не работает из-за тупика между W3C и поставщиками браузеров, которые фактически его реализовали (Chrome / Safari / Opera).
В настоящее время благодаря внедрению смартфона происходит небольшой взрыв браузеров, поэтому сложно определить, какая часть рынка поддерживает функции HTML5 LocalStorage, но используя statcounter Я смогчтобы вычислить это между Chrome (4+), Firefox (3. +), Safari (4+), Opera (10.5+) и IE (8+), включая iPhone и Android, вы захватите около 80-85%рынка, причем эта цифра идет вверх со скоростью 1-2% в месяц.Остальные - IE 6/7 (который упрямо склонен зависать), старые версии новых браузеров (с функциями обновления, которые обычно поддерживали их актуальность), и некоторые мобильные браузеры застряли в каменном веке.
Asдля более старых вариантов я бы добавил Постоянство пользовательских данных для IE6 / 7 в список, предоставленный @ user998692, но в любом случае вы столкнетесь с множеством проблем несовместимости браузеров и поддержкоймножество технологий, которые усложнят вашу кодовую базу и тестирование и соответственно увеличат сроки (и стоимость) доставки.Однако если вы действительно хотите пойти по этому пути, я бы порекомендовал вам взглянуть на PersistJS , поскольку ребята, которые собрали его вместе, уже проделали большую часть работы, которая вам уже понадобилась бы.
В наши дни стоит больше смотреть вперед (на то, как рынок будет выглядеть через 1-2 года, когда ваше приложение будет распространяться и приобретать широкую пользовательскую базу), чем в обратном направлении, поэтому я бы сказал, что HTML5 LocalStorage - это, вероятно, ваш лучший вариант..