HTML-формы работают в автономном режиме - PullRequest
5 голосов
/ 27 ноября 2009

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

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

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

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

Ответы [ 5 ]

4 голосов
/ 27 ноября 2009

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

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

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

2 голосов
/ 01 января 2010

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

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

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

2 голосов
/ 27 ноября 2009

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

1 голос
/ 28 июня 2012

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

Ваша лучшая ставка - это, вероятно, сочетание стандартов HTML5 для applicationCache и localStorage.

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

http://www.alistapart.com/articles/application-cache-is-a-douchebag/

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

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

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

- Чад

1 голос
/ 27 ноября 2009

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

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

...