Я пытаюсь сделать сценарий jQuery для перезагрузки всей страницы.
Это код, который я получил до сих пор;
<script type="text/javascript">
setInterval("refresh();",5000);
function refresh(){
window.location = location.href;
}
</script>
Это отлично работает для перезагрузки полной страницы каждые 5 секунд, но я пытаюсь продвинуть это немного дальше. Что я хочу сделать, так это то, что страница перезагружается каждый новый час согласно времени сервера. Допустим, сейчас время 22:50. Я хочу, чтобы скрипт обновил страницу в 23:00, когда наступил новый час. (Через 10 минут после того, как пользователь посетил страницу). Если время входа пользователя составляет 22:55, сценарий должен обновить страницу через 5 минут после того, как пользователь зашел на страницу, и так далее.
Есть ли простой способ сделать это? Я могу использовать функцию date () в PHP, чтобы вычислить время, оставшееся в текущем часе. У меня есть этот сценарий до сих пор;
<?php
$date = date("i:s");
list($cur_min, $cur_sec) = explode(':', $date);
$mins_left = ($cur_min == 59) ? 0 : 60 - $cur_min;
$secs_left = 60 - $cur_sec;
echo 'There is ' . ($mins_left) . ' minutes and ' . $secs_left . ' seconds left until the next hour';
?>
Это прекрасно работает для отображения времени, оставшегося до следующего часа. Все идет нормально. То, с чем я сейчас борюсь, это чтобы время оставалось до следующего часа в миллисекундах. Таким образом, я могу использовать PHP для создания строки с оставленными миллисекундами и использовать ее в скрипте jQuery. Например, сохраните общее количество миллисекунд, оставшихся в часе, в $ timeleft. Если бы я смог добиться этого, сценарий jQuery был бы очень простым. Как это;
<script type="text/javascript">
setInterval("refresh();",<?php echo $timeleft ?>);
function refresh(){
window.location = location.href;
}
</script>
Любая помощь будет высоко оценен!
<?php
$date = date("i:s");
list($cur_min, $cur_sec) = explode(':', $date);
$mins_left = ($cur_min == 59) ? 0 : 60 - $cur_min;
$secs_left = 60 - $cur_sec;
echo 'There is ' . ($mins_left) . ' minutes and ' . $secs_left . ' seconds left until the next hour';
$time=($mins_left*60+$secs_left)*1000;
?>
<script type="text/javascript">
setInterval("refresh()",<?php echo $time; ?>);
function refresh(){
window.location = location.href;
}
</script>
Пожалуйста, попробуйте эту надежду, это полезно
Других решений пока нет …