У меня есть веб-сайт, который я хочу перезагрузить в определенное время, например, 3:35 вечера, а не после определенного интервала, такого как 5 минут. Как это сделать?
Как автоматически перезагрузить веб-страницу в определенное время?
Ответ 1
Следующий фрагмент кода JavaScript позволит вам обновиться в определенное время:
function refreshAt(hours, minutes, seconds) {
var now = new Date();
var then = new Date();
if(now.getHours() > hours ||
(now.getHours() == hours && now.getMinutes() > minutes) ||
now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >= seconds) {
then.setDate(now.getDate() + 1);
}
then.setHours(hours);
then.setMinutes(minutes);
then.setSeconds(seconds);
var timeout = (then.getTime() - now.getTime());
setTimeout(function() { window.location.reload(true); }, timeout);
}
Затем вы можете добавить тег script, чтобы вызвать функцию refreshAt()
.
refreshAt(15,35,0); //Will refresh the page at 3:35pm
Ответ 2
<META HTTP-EQUIV="Refresh" CONTENT="5">
это заставит страницу перезагружаться каждые 5 секунд. Просто вычислите правильный интервал и добавьте его в тег контента
Ответ 3
В принципе, при доступе к странице вычисляют, сколько времени осталось между временем доступа и временем, которое вы хотите перезагрузить страницу, и используйте это оставшееся время в заголовке метаобновления. Очевидно, что это нужно сделать в CGI script или веб-приложении или, возможно, с SSI (на стороне сервера); он не будет работать, если у вас есть статический HTML файл.
Другой вариант - использовать Javascript, но он не будет работать, если у клиента отключен Javascript.
Ответ 4
Я нашел эту страницу с похожим вопросом и использовал ее, чтобы взломать более конкретный ответ, который может быть полезен для некоторых. Для этого проекта мы хотели убедиться, что страница обновилась после того, как живое событие, представляющее глобальный интерес, должно было продолжаться, активировав проигрыватель на странице пользователя (узкий прецедент, я знаю - другие могли бы лучше использовать для Это).
Одна из проблем в приведенных выше ответах заключалась в том, как справляться с изменениями часового пояса, что было для нас большей проблемой, потому что мы хотели убедиться, что страница обновилась в определенный день и время. Чтобы сделать это, я схватил UTC-версию контрольной даты и сегодняшней даты, преобразовал их в GMT, а затем установил функцию тайм-аута Andrew на разницу между ними.
var target = new Date("January 28, 2011 13:25:00");
timeOffset = target.getTimezoneOffset() * 60000;
targetTime = target.getTime();
targetUTC = targetTime + timeOffset;
var today = new Date();
todayTime = today.getTime();
todayUTC = todayTime + timeOffset;
refreshTime = (targetUTC - todayUTC);
if (refreshTime > 1) {
setTimeout(function() { window.location.reload(true); }, refreshTime);
}
Ответ 5
В принципе, есть много кодов javascript, которые могут обновлять страницу за считанные минуты или что-то в этом роде, вы можете редактировать их, чтобы обновлять их в часы. Как этот:
//enter refresh time in "minutes:seconds" Minutes: 0 to Whatever
//Seconds should range from 0 to 59
var limit = "0:30";
if (document.images) {
var parselimit = limit.split(":");
parselimit = parselimit[0] * 60 + parselimit[1] * 1;
}
var beginrefresh = function () {
if (!document.images) return if (parselimit == 1) window.location.reload()
else {
parselimit -= 1;
curmin = Math.floor(parselimit / 60);
cursec = parselimit % 60;
if (curmin != 0) curtime = curmin + " minutes and " + cursec + " seconds left until page refresh!";
else curtime = cursec + " seconds left until page refresh!";
window.status = curtime;
setTimeout("beginrefresh()", 1000);
}
}
window.onload = beginrefresh;
(теперь просто вычислите минуты и секунды, которые вы хотите обновить, например, например, в полдень каждый день, если он был в полдень сейчас:
var limit = "1440:00";
Теперь вы можете использовать этот код, за исключением того, что большинство из них не работают со временем сервера. И с информацией, которую вы нам предоставили, мы действительно ничего не можем сделать. Измените свой вопрос и сообщите нам, хотите ли вы, чтобы он был настроен на время сервера или что-то еще.
Ответ 6
Используйте это, чтобы обновить страницу каждые 20 секунд.
<META HTTP-EQUIV="refresh" CONTENT="20">