質問

HTML フォームをオフラインで実行できる必要があります。つまり、Web サーバーに直接接続せずに動作する必要があります。

私が 5 年以上前に作成したアプリケーションでは、カスタム プロトコル ハンドラーを実装することでそれを実現しました。ユーザーがフォームの送信を開始すると、結果の HTTP リクエストがローカルに記録されました。後でサーバーへの接続が利用可能になると、同期プログラムは収集されたリクエストをループしてサーバーに送信し、応答を収集して、後で使用できるようにローカルに再度保存します。

それはその時のことでした。さて、別の顧客が私に非常に似たような要望を持ちかけてきました。今日はどのようなテクノロジーを使用すべきだと思いますか?

HTML5 のサポートはまだ非常に限定的です。Googleの歯車?それとも、戻ってプロトコル ハンドラーとカスタム シンクロナイザーを使用し続ける必要がありますか?

役に立ちましたか?

解決

私なら HTML5 を選ぶと思います。すべてのブラウザがサポートしているわけではありません。しかし、すべてがそうなります。それまでの間は、「恐ろしい警告がたくさんあるこの巨大なプラグインをダウンロードしてください」ではなく、「オフライン機能を利用するには、これこれのブラウザを試してください」と言った方がよいと思います。

単純な人口統計も:HTML5 は、全ブラウザの 5% に含まれていますか?10%?Gears をすでにインストールしているユーザーの 0% よりもはるかに多いです。

本当に残念です。Gears で限界を押し広げてくれた Google に感謝します。しかし、実際に一般的に受け入れられている唯一のプラグインは Flash です。幸いなことに、ほぼ同じ機能を備えた HTML5 がすでにほぼ完成しています。

他のヒント

Google Gearsは非常に良い候補です。例として、Googleは最近、ユーザーが「オフライン」でメールにファイルを添付できることを発表しました。別の方法としては、投稿されたフォームデータをCookieに保存し、ユーザーがオンラインに戻ることができると、サーバーはCookieとそれに伴うデータを取得します。

Google Gearsは現在開発中ではないという噂が流れています。 http://code.google.com/p/gears/issues/list?can=2&q=&sort=version&colspec=Version%20Milestone%20Owner%20ID新しいGears開発の%20Summary%20Component では、バージョン0.6で修正されるアイテムは3つのみです。また、このウィキペディアの記事( http://en.wikipedia.org/wiki/Google_Gears)、Googleは開発を行っていないようで、オープンソースプロジェクトにも大きな勢いはありません。記事から取られたものはこれです:

" 2009年11月末に、多数のオンラインニュースソースが、Googleが将来GearsではなくHTML 5を使用するように移行することを報告しました。 Googleの広報担当者は後で、GoogleがGearsを使用しているサイトを壊さないようにGearsを引き続きサポートすることを明らかにしました。

つまり、Gearsは非推奨になりました。代わりにHTML 5を使用してください。

Dojo.Storage/ Dojo Offline には、以下を使用してデータを保存できるフラッシュブリッジがあります。フラッシュのデータストア。制限はユーザーが設定しますが、5Mbから始まります。ライブラリコンポーネントは抽象化であり、HTML 5、Cookie、およびギアもサポートしています。

プラス歯車を使用すると、メモリが提供される場合、バイナリBLOBを格納できます。

Google Gearsは廃止されました: http://gearsblog.blogspot.com/2011 /03/stopping-gears.html

最善の策は、おそらくapplicationCacheとlocalStorageのHTML5標準の組み合わせです。

ただし、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に注意してオフラインステータスを検出してください-ブラウザ間で一貫して実装されているわけではないため、ユーザーにオフラインかどうかを明示的に通知してもらう方が良いでしょう。

-チャド

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top