私は .Net 環境で作業しており、私の aspx ページで実行中のデジタル時計 w//seconds を追加したいのですが、サーバー側の時間を使用する必要があります。これに対する最善のアプローチは何ですか?
ありがとう!
私は .Net 環境で作業しており、私の aspx ページで実行中のデジタル時計 w//seconds を追加したいのですが、サーバー側の時間を使用する必要があります。これに対する最善のアプローチは何ですか?
ありがとう!
少し時間を取って、この JavaScript ライブラリを見てください。
おそらくデータ属性のようなものを介して、サーバー側の時間をJavaScriptコードに提供するだけで済みます
すなわち:
<html data-server-time="@Model.ServerTime">
そして、あなたのJSは単純に(jQueryと瞬間を仮定して):
var date = $('html').data('server-time');
var start = new Date();
var updateTime = function (){
setTimeout(function(){
var now = moment(date).add(new Date() - start).format('YYYY/MM/DD HH:mm:ss')
$('.target').text(now);
updateTime();
},1000);
}
$(function(){
updateTime();
});
この方法では、サーバー時間を使用しますが、不要な AJAX 呼び出しを回避して、ページの読み込みごとに複数回要求する必要はありません。サーバーに原子力グレードの時計などがある場合を除きます。
AJAX UpdatePanel を検討しましたか?
MSDN:チュートリアル: 一定間隔で UpdatePanel コントロールを更新する方法
毎秒更新するのはやり過ぎかもしれません。サーバーをポーリングしてサーバーをチェックし、クライアントの時刻がまだ同期されているように実装し、そうでない場合はクライアントページを更新しますか?