0

私はhtml5アプリケーションを持っています。それはデータベースに物を送ります。当初はデータベースの更新を即座に行っていましたが、現在はオフラインで使用できるようになり、代わりにデータベースに送信するタイミングをユーザーが選択できるようになりました。(たとえば、飛行機に乗っている場合は、後でやりたいと思うかもしれません。)

したがって、問題は、彼らがシャットダウンした場合、未送信のデータの送信に失敗した場合は、シャットダウンする前に警告し、必要に応じて送信に戻ることを許可することです。最終的には送信されるまでローカル ストレージを使用するため、失われることはありませんが、重要なことは、まだ送信されていないことをユーザーに知らせることです。

グローバルな g_bUnsentData = true; があります。未送信データがある場合。

これは JavaScript で行うことができますか? また、どのように行うことができますか?

また、余談ですが、ユーザーがオフラインでデータを送信しようとしている場合にユーザーに警告できるように、オンライン ステータスをテストするにはどうすればよいですか?

4

1 に答える 1

1

@SmartK8 のコメントを参照してください。

それにもかかわらず、文字列を返すイベントに関数をバインドするとbeforeunload、ほとんどのブラウザはその文字列とページを離れる確認を表示します。例えば:

Chrome/Mac でのページ離脱確認

一部のブラウザでは、返された文字列が確認にまったく表示されない場合があります。他のブラウザ、特にモバイル ブラウザでは、ページが移動されるのを防ぐことさえできません。

オンライン ステータスをテストする場合navigator.onLineは、ネットワークの可用性を示すブール値です。どこでも利用できるわけではありません (Opera、Firefox) が、これが始まりです。詳細については、html5 rocksのこのページを参照してください。

于 2012-11-24T12:08:30.320 に答える