Альтернативы использования Meta-Refesh для обновления страницы
-
27-09-2019 - |
Вопрос
В прошлом, когда я покрыл события, я использовал мета-освежитель с 5-минутным таймером для обновления страницы, чтобы у людей есть последние обновления.
Понимая, что это может не быть идеальным способом сделать это (не всегда работает в IE, прерывает поток человека, перезапускает вещи для людей с помощью читателей экрана и т. Д.) Мне интересно, есть ли какой-либо другой способ сделать это ситуация.
Можно ли проверить что-то вроде Ajax Check каждые несколько минут, если HTML-файл на сервере новее и напечатайте сообщение о том, чтобы распечатать сообщение «Доступна информация об обновлении, нажмите здесь, чтобы обновить»?
Если это сумасшедший, как насчет JavaScript, который просто рассчитывается с 5 минут и просто предлагает обновить.
Если кто-то может указать мне на учебные пособия или кодовые фрагменты, которые я буду признателен. Я просто играю в программист по телевизору. :-)
Решение
setInterval(function() {
if (confirm("Its Been 5 Minutes. Would you like to refresh")) {
window.location.reload(true);
//Or instead of refreshing the page you could make an ajax call and determing if a newer page exists. IF one does then reload.
}
}, 300000);
Другие советы
На самом деле, ваша мысль на Timed Ajax Test - отличная идея. Я не уверен, что именно то, что использует Stackoverflow, но оно проверяет периодически, чтобы посмотреть, были ли опубликованы другие ответы и показывают пользователь, на интервале, если есть обновления.
Я думаю, что это идеально подходит по этим причинам:
- Это ненавязчивое - читатель может легко игнорировать обновление, если им все равно
- Это не будет тратить бандант - без перезагрузки, если пользователь не выбирает
- Это информативно - пользователь знает, что есть обновление и может выбирать на нем действовать.
Мой взять на то, как - попросите скрипт AJAX отправляйте последний идентификатор сообщения в сценарий, который проверяет новые сценарии. Этот скрипт может запрашивать вашу базу данных, чтобы увидеть, есть ли какие-либо новые посты и сколько существует. Это может вернуть этот номер. Если есть новые посты, показать некоторые (не модальные) сообщения, включая количество обновлений, и позволяет пользователю решить, что делать с этим.
Вы можете использовать setinterval. Функция в JavaScript.
Вот образец
setInterval("refresh function", milliseconds, lang);
Вы будете использовать его, передавая имя функции, которая фактически обновляет страницу для первого параметра и количество миллисекундов между обновлением для второго параметра (300000 в течение 5 минут). Третий параметр Lang является необязательным
Если пользователь будет взаимодействовать с оценками и щелкнуться на вещах, было бы немного грубо просто обновить страницу на них. Я думаю, что делать что-то вроде уведомления о том, что страница была обновлена, будет идеальной.
Я бы использовал jQuery и сделать вызов ajax к файлу на сервере или что-то, что вернет обновленные данные. Если это новое, чем выбросить сообщение о рыщете
Greatter - JQuery Browl System Демо того, что рычание использует Greatter
Сообщение о рыщете придет, возможно, с тем, что было изменено, новые оценки, а затем опция в этом сообщении для обновления и просмотра новых результатов.