Как сделать автообновление страницы
На некоторых страницах требуется постоянное автообновление. Например, это могут быть текущие результаты какого-нибудь матча. Или это могут быть котировки валют или акций. В общем, задача есть, и нужно подобрать оптимальное решение для неё. И в этой статье я расскажу, как сделать автообновление страницы.
Большинство разработчиков сразу же побегут к JavaScript, однако, использовать его в этой ситуации совсем не нужно. Достаточно использовать HTML:
<meta http-equiv="Refresh" content="30" />
В результате, каждые 30 секунд страница будет перезагружаться. И это работает во всех браузерах, независимо от поддержки JavaScript.
Можно пойти и дальше. Вы, возможно, встречали сайт, где предлагали настроить время автообновления. Это реализуется следующим образом:
<?php
$delay = isset($_POST["delay"])? $_POST["delay"]: 30;
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Refresh" content="<?=$delay?>" />
</head>
<body>
<form name="myform" action="" method="post">
<p>Автообновление через: <input type="text" name="delay" /> секунд</p>
<p>
<input type="submit" name="send" value="Сохранить" />
</p>
</form>
</body>
</html>
Вот так уже реализуется настраиваемое автообновление, и опять же мы обошлись лишь одним HTML и PHP.
-
- Михаил Русаков
Комментарии (6):
Но ведь тогда страница будет перезагружаться и пользователя это будет я думаю раздражать. Лучше через AJAX получать новые данные и выводить без всяких перезагрузок
Ответить
Скорей всего тогда будет нагружаться клиент...
Ответить
бросается в глаза строчка <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> доктайп для html5 а потом идёт стока для xmlns, в начале не заработало а потом сохранил эту страницу с расширением php a не html на хосте и заработало
Ответить
за то время пока тупил со скриптом выучил условный оператор $delay = isset($_POST["delay"])? $_POST["delay"]: 30; а также команду echo - <?=$delay?> ;)
Ответить
А как сделать чтобы обновление было разовое(раз в сутки, или при первом входе на сайте), или два интервала. Скажем один через десять секунд, а второй через пару часов. Поскольку пользователь не находится на одной страницы чтобы ждать что через 15 минут добавиться что-то новое,а каждые 10 секунд можно здуреть, если страница будет обновляться.
Ответить
А как сделать что бы обновлялась страница если пользователь в браузере нажал "назад". И та страница на которую он вернулся, обновилась? Желательно причем один раз.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.