まず最初に、サーバーの時刻を同期する必要がある理由について説明します。サーバーの時刻とローカル コンピューターの時刻には一定の時差があるためです。宝くじの結果など、非常に高い適時性が要求される一部のアプリケーションでは、この種の時間差を許容できません。 オプション 1: カウントダウンごとにサーバーにアクセスして時刻を要求します
//开启定时器 var timer = setInterval(function () { //执行请求,获取当前服务端时间并进行相应操作 }, 1000);
オプション 2: サーバーからサーバー時間に基づいてカウントダウン タイムスタンプを返します
//开启定时器 //假设请求获取到一个时间戳时间差 dateDiff var timer = setInterval(function () { //每秒会获取本地时间,这样就算执行的周期不准确 也可以准确的获取时间差 var countDown = endTime - (+Date.now())/1000 + dateDiff; // 倒计时页面渲染 }, 1000);
ページのライフサイクル中に 1 回リクエスト
精度が高く、ページが長時間開いている場合でも、高い精度を維持します 欠点:
現在時刻が毎秒取得されるため、カウントダウン期間中に意図的に現地時間を変更すると、カウントダウンが異常になります。
以上がjsの効率的なサーバー時刻同期カウントダウンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。