Запуск похож на событие для всех пользователей. , поэтому я хочу затруднить пользователю доступ к перенаправленной странице до того, как обратный отсчет достигнет нуля - поэтому я думаю, что лучше всего основывать его на времени сервера, а не на времени пользователей/клиентов, чтобы пользователь не мог возиться с время.
Обратный отсчет также должен достичь нуля примерно в одно и то же время в (двух) разных часовых поясах.
Я нашел несколько разных скрипты и подходы к этому в Интернете, но я не могу заставить это работать.
Мой код jQuery сейчас выглядит следующим образом
Код: Выделить всё
var end = new Date(Date.UTC(2020,12-1,10,12,00,00)) ;
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function serverTime() {
var time = null;
$.ajax({url: 'www.myserveradress.com/server_time.php',
async: false, dataType: 'text',
success: function(text) {
time = new Date(text);
}, error: function(http, message, exc) {
time = new Date();
}});
return time;
}
function showRemaining() {
var now = serverTime();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
window.location.href = '/surprise.html';
return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
document.getElementById('countdown').innerHTML = days + 'dagar ';
document.getElementById('countdown').innerHTML += hours + 'timmar ';
document.getElementById('countdown').innerHTML += minutes + 'minuter ';
document.getElementById('countdown').innerHTML += seconds + 'sekunder';
}
timer = setInterval(showRemaining, 1000);
Код: Выделить всё
Это творение Франкенштейна, состоящее из разных кодов, поэтому я почти уверен, что где-то напутал. Я предполагаю, что я напутал с функцией serverTime или в showRemaining< /em> (в частности, как переменная now должна отображать результат функции serverTime).
Подробнее здесь: https://stackoverflow.com/questions/651 ... erver-time
Мобильная версия