Pull to refresh

Comments 27

>>Подождите… разве спецификации WebSQL утверждены?
Так, вроде, не хотят они её уже поддерживать:
Beware. This specification is no longer in active maintenance and the Web Applications Working Group does not intend to maintain it further.
В оригинале «Wait… isn’t the WebSQL specification in impasse?» Имеется ввиду, «тупиковый путь развития». Единственный плюс этой спецификации то, что её можно использовать на мобильных устройствах.
Еще можно упомянуть об ограничении cache manifest в ios — 50Мб, тоже самое с WebSQL то же ограничение в 50Мб, Хром также имеет ограничение в 5Мб для WebSQL (вроде как у extensions через manifest можно указать флаг и будет доступно больше места). Еще одна из странностей работы с WebSQL это то, что safari прерывает контекст после того, как место кончилось и показывается диалог с вопросом об увеличении места для БД
Более того, iPhone кэширует файлы объёмом не более 25Kb (по поводу картинок не уверен, но css, js, html это точно касается).
Подскажите пожалуйста, а что за флаг для Хрома для увеличения объёма базы для расширений? А то 5 Мб маловато…
UFO just landed and posted this here
UFO just landed and posted this here
Это только localStorage.

Webkit SQLite is not supported
WebSQL пугает в плане безопасности, получается клиенту придется отдавать часть данных, которые ему и не надо иметь.
UFO just landed and posted this here
возможно и так, но в технологии хотелось бы иметь некоторые инструменты по обеспечению безопасности
По обеспечению безопасности чего?
Когда клиент запоминает в своем браузере пароль от Вашего сервиса — тоже небезопасно. Ну вот Вам и решать что ему можно запоминать, а что нет. Обеспечение безопасности — это действительно проблема проекта. Не хотите что бы сохранял приватную информацию — не сохраняйте. Не хотите светить глобальными ID — создайте приватные ключи привязанные на пользователя. Все в ваших редакторах, и что бы это было безопасно — нужно писать безопасно.
так же, как вариант, если структура хранения данных не сильно «перемудренная», то можно не заморачиваться на WebSQL, а сохранять эту структуру в виде JSON-объекта прямо в localStorage.

localStorage["obj"]="{\"main\":[1,2,3,\"четыре\"]}";

а потом, просто

OBJ=JSON.parse(localStorage["obj"]);
OBJ["main"][0]; // 1
UFO just landed and posted this here
Только строкой. Для этого WebSQL и прочие штуки и придумывают, что localStorage только строки умеют.
И использовать JSON.stringify(obj) и JSON.parse(str). :)
Очень большие накладные расходы. Я так сделал в своём расширении для быстрой разработки, так хранится очень мало сообщений… вот сейчас перевожу на Sqlite.
Спасибо.
Правильно ли я понимаю, что кэш не обновляется, даже если пользователь снова в онлайне открывает страницы?
То есть, нужно при обновлении ресурсов каждый раз генерить манифест а для файерфокса приделывать еще один костыль?
Ну ладно, генерить манифест можно автоматически при обращении к нему браузером (хоть и не большая, но лишняя нагрузка).
Да и десятки килобайт дополнительного трафика для манифеста не очень то хорошо…
> Ну ладно, генерить манифест можно автоматически при обращении к нему браузером (хоть и не большая, но лишняя нагрузка).
Ну манифест можно не генерить, а давать ссылку на разные манифесты здесь, если нужно:
Прошу прощения, парсер поел:
<html manifest="demo.manifest">
Прошу прощения, что долго не отвечал. Я просто спал :)

Как я понял (я не пробовал просто на деле), кеш обновится только тогда, когда обновится файл манифеста.
Насчет ФФ можно предположить, что с 4й версией могло все заработать.
Никак не удалось в Хроме поработать с синхронным доступом к базе. Посоветуете что-нибудь?

И также размер создаваемой базы совершенно не учитывается Хромом. У него ограничение 5 Мб на домен и это нигде почему-то нельзя сменить. Пишут про какой-то запрос подтверждения пользователя, но такого не возникает.
Как в Опере добраться до баз данных для расширений?

opera:webdatabases показывает только для сайтов.

И похоже, я нашёл настройки для увеличения sqlite в Опере!

вот ссылка opera:config#PersistentStorage

Увеличил — работает!
Sign up to leave a comment.

Articles