Вопрос

Мне нужно иметь возможность запускать HTML-формы в автономном режиме. Я имею в виду, что они должны работать без прямого подключения к веб-серверу.

В приложении, которое я написал более 5 лет назад, я сделал это, реализовав специальный обработчик протокола - когда инициированная пользователем форма отправки результирующего HTTP-запроса записывалась локально. Позднее, когда становится доступным соединение с сервером, программа синхронизации просматривает собранные запросы и отправляет их на сервер, собирает ответы и снова сохраняет их локально для дальнейшего использования.

Это было тогда. Теперь другой клиент обратился ко мне с очень похожим запросом. Как вы думаете, какую технологию я должен использовать сегодня?

Поддержка HTML5 пока очень ограничена. Google Gears? Или я должен вернуться и продолжить использовать обработчик протокола и пользовательский синхронизатор?

Это было полезно?

Решение

Я бы сказал, перейти на HTML5. Не все браузеры поддерживают это; но все будет. Между тем, я думаю, что лучше сказать «чтобы отключить функции, попробуйте тот или иной браузер», а не «пожалуйста, скачайте этот огромный плагин со множеством страшных предупреждений».

Также простая демография: HTML5 есть в чем, 5% всех браузеров? 10%? все еще намного больше, чем 0% пользователей с уже установленным Gears.

Это очень жаль, большое спасибо Google за то, что выдвинули конверт с Gears; но в дикой природе единственным общепринятым плагином является Flash. К счастью, HTML5 уже почти там, с почти такими же функциями.

Другие советы

Google Gears - очень хороший кандидат. Например, недавно Google объявил, что пользователи смогут прикреплять файлы к электронным письмам, находясь в автономном режиме. Другим способом может быть сохранение опубликованных данных формы в файле cookie, и когда пользователь сможет снова подключиться к сети, сервер забирает файл cookie и данные вместе с ним.

Ходят слухи, что Google Gears больше не разрабатывается. Когда вы смотрите на функции Gears и отслеживает проблемы на странице http://code.google.com/p/gears/issues/list?can=2&q=&sort=version&colspec=Version%20Milestone%20Owner%20ID % 20Summary% 20Component для новой разработки Gears, есть только 3 элемента, которые будут исправлены в версии 0.6. Кроме того, согласно этой статье Википедии ( http://en.wikipedia.org/wiki/Google_Gears), похоже, что Google не занимается разработкой, и проект с открытым исходным кодом также не имеет большого количества пара. Взято из статьи так:

" В конце ноября 2009 года многие онлайн-источники новостей сообщили, что в будущем Google собирается перейти на использование HTML 5, а не Gears. Представитель Google позже пояснил, что Google, тем не менее, продолжит поддерживать Gears, чтобы не нарушать работу сайтов, использующих его. & Quot;

Другими словами, Gears устарела. Вместо этого используйте HTML 5.

Dojo.Storage/ Dojo Offline , имеет флэш-мост, который позволит вам хранить данные с помощью хранилище данных flash. Ограничение устанавливается пользователем, но начинается с 5 МБ. Компонент библиотеки является абстракцией, а также поддерживает HTML 5, файлы cookie и механизмы.

Плюс шестерни позволят вам хранить двоичные двоичные объекты, если память не изменяет.

Google Gears не работает: http://gearsblog.blogspot.com/2011 /03/stopping-gears.html

Лучшим вариантом для вас, вероятно, является сочетание стандартов HTML5 для applicationCache и localStorage.

Тем не менее, applicationCache следует использовать экономно - это настоящая боль. В этой статье объясняется, почему, а также даются некоторые советы о том, как использовать гибридный подход applicationCache и localStorage для просмотра в автономном режиме (не представления) страниц:

http://www.alistapart.com/articles/application -cache-это-Douchebag /

Вот статья, в которой есть пример ввода данных формы в localStorage, но, к сожалению, она не предоставляет пример фактической отправки данных в автономном режиме:

http: //miniapps.co.uk/blog/post/using-html5-localstorage-as-a-fallback-for-offline-form-submission

Кроме того, остерегайтесь window.navigator.onLine для определения автономного статуса - он не реализован согласованно во всех браузерах, и вам, вероятно, лучше, если пользователь явно сообщит вам, отключены они или нет.

- Чад

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top