js h 5移動端のカウントダウンについては、画面を閉じた後に正確に誤差があるという問題があります.


テストシステムを書いていますが、カウントダウンの機能が使われています.スクリーンをロックした後、カウントダウンが正確ではないことが分かりました.
解決方法:
  • は試験システムですから、試験時間は一定です.私たちの試験時間は10分です.
  • です.
    // An highlighted block
    let duration = parseInt(times); //       
    
  • 試験ページに入る時、まず現在の時間、つまり試験開始時間
  • を取得します.
    // An highlighted block
    let cur_time = parseInt(new Date().getTime()/1000);
    
  • 試験開始時間により試験終了時間を算出します.
    // An highlighted block
    let end_time = cur_time + duration;
    
  • カウントダウンの時間は試験終了時間です.現在の時間は
  • です.
    // cur_time  residue    setInterval               
     cur_time = parseInt(new Date().getTime()/1000);
     residue = end_time - cur_time;
    
    このようにして、スクリーンを消してからカウントダウンが遅くなるので、カウントダウンの正確性に影響を与えません.
    もう一つの方法はサーバの時間を取得して、何秒でサーバーから時間を取ることができますが、頻繁にインターフェースを起動して時間を取るのは良い方法ではないと思います.