質問

過去にイベントを取り上げたとき、人々が最新の更新情報を入手できるように、5 分間のタイマーを備えたメタ更新を使用してページを更新していました。

これが完璧な方法ではない可能性があることに気づきました (IE では常に機能するとは限らず、人のフローを中断し、スクリーン リーダーを使用している人のために作業を再開するなど)。これを処理する他の方法があるかどうか疑問に思っています。状況。

サーバー上の HTML ファイルが新しいかどうかを数分ごとに ajax のようなものでチェックし、「更新情報が利用可能です。ここをクリックして更新してください」というメッセージを出力させることは可能ですか?

それがおかしい場合は、5 分からカウントダウンして更新を提案するだけの JavaScript はどうでしょうか。

誰かがチュートリアルやコードスニペットを教えてくれれば幸いです。テレビでプログラマーを演じているだけです。:-)

役に立ちましたか?

解決

setInterval(function() {
  if (confirm("Its Been 5 Minutes. Would you like to refresh")) {
    window.location.reload(true);
    //Or instead of refreshing the page you could make an ajax call and determing if a newer page exists.  IF one does then reload.

  }
}, 300000);

他のヒント

実際、時間制限のある Ajax テストに関するあなたの考えは素晴らしいアイデアです。StackOverflow がそれを正確に使用しているかどうかはわかりませんが、他の回答が投稿されているかどうかを定期的にチェックし、更新があるかどうかを定期的にユーザーに表示します。

これは次の理由から理想的だと思います。

  • 目立たない - 読者は気にしない場合は更新を簡単に無視できます
  • 帯域幅を無駄にせず、ユーザーが選択しない限りリロードは行われません。
  • これは有益です。ユーザーは更新があることを知り、それに対して行動することを選択できます。

私の考えでは、ajax スクリプトに最新の投稿 ID を新しいスクリプトをチェックするスクリプトに送信させます。このスクリプトはデータベースにクエリを実行して、新しい投稿があるかどうか、またその数を確認します。この番号を返すことができます。新しい投稿がある場合は、更新数を含む何らかの (非モーダル) メッセージを表示し、それに対して何をするかをユーザーに決定させます。

あなたはJavaScriptでのsetInterval の機能を使用することができます。

ここにサンプルがあります。

setInterval("refresh function", milliseconds, lang);

あなたは、実際に最初のパラメータと第二のparam(5分間300000)のリフレッシュ間隔をミリ秒単位の数のページを更新関数に名前を渡し、それを使用します。三番目のパラメータlangは、オプションの

であります
ユーザーは、物事のスコアとクリックすると対話することになる場合は、

ちょうどそれらのページをリフレッシュするために少し失礼だろう。私は、ページが更新されたことを通知のようなものをやってすることは理想的だと思います。

私はjQueryのを使用して、サーバーまたは更新されたデータを返します何か上のファイルへのAJAX呼び出しを行うだろう。それはGrowlのメッセージ投げるより新しいだ場合、

グリッター - jQueryのうなり声システムデモのGrowlが使用しているのグリッターする

A Growlのメッセージは、新しい結果を更新して表示するには、そのメッセージ内のオプション、次に何が変更されたと、おそらく思い付く新しいスコアとなります。

jQueryのAjaxの情報

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