Maison  >  Article  >  interface Web  >  Explication détaillée des étapes de synchronisation de js et de l'heure du serveur

Explication détaillée des étapes de synchronisation de js et de l'heure du serveur

php中世界最好的语言
php中世界最好的语言original
2018-04-17 16:44:541475parcourir

Cette fois je vais vous donner une explication détaillée des étapes de synchronisation de js et de l'heure du serveur Quelles sont les précautions pour synchroniser js et l'heure du serveur Voici des cas pratiques, jetons un coup d'oeil.

Option 1 : Allez sur le serveur pour demander l'heure à chaque compte à rebours

//开启定时器
var timer = setInterval(function () {  
  //执行请求,获取当前服务端时间并进行相应操作
}, 1000);

Cette solution est connue pour être indésirable pour les développeurs ayant un peu d’expérience. Parce que cela exercera une pression inimaginable sur le serveur et provoquera le crash de l’application. Si vous restez sur cette page pendant une minute, la demande sera envoyée 60 fois. Si 100 personnes visitent cette page à ce moment-là, il y aura 6 000 demandes en une minute. Si le nombre de personnes augmente à nouveau, ce sera certainement le cas. provoquer une pression inutile sur le serveur. De plus, le compte à rebours de cette solution comportera également une erreur importante, car il y a un retard dans la demande, qui est également étroitement lié au statut de votre réseau.

Option 2 : Renvoyer un compte à rebours basé sur l'heure du serveur à partir de l'horodatage du serveur

//开启定时器
//假设请求获取到一个时间戳时间差 dateDiff
var timer = setInterval(function () {
  //每秒会获取本地时间,这样就算执行的周期不准确 也可以准确的获取时间差
  var countDown = endTime - (+Date.now())/1000 + dateDiff;
  // 倒计时页面渲染
}, 1000);

Avantages :

Demande une fois pendant le cycle de vie de la page
Haute précision, même si la page est ouverte depuis longtemps, elle conservera toujours une grande précision
Inconvénients :

Puisque l'heure actuelle est obtenue toutes les secondes, si l'heure locale est délibérément modifiée pendant la période du compte à rebours, le compte à rebours sera anormal.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

angularJS+Ionic implémente la fonction de téléchargement d'images mobiles

BootStrap+Validator exploite l'étalonnage dans la fonction JS Check

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn