@khodos_dmitry

Как сделать, чтобы страница перезагружалась по запросу?

Страница на php должна перезагружаться по запросу из другого скрипта. У всех пользователей в интернете, если это возможно.
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 2
Steein
@Steein
Программист
header("Refresh:0; url=file.php");

или вы хотите AJAX`ом, авто-обновление?
Ответ написан
Комментировать
Ivanq
@Ivanq
Знаю php, js, html, css

!!! Не использовать в продакшене по возможности.
Мне кажется, Вам нужно что-то другое. Смысла обновлять страницу, если добавился пост, скажем - не нужно. Если у Вас похоже на чат - кто-то отправляет кому-то и у кого-то обновляется, вам к сокетам.


Если можно NodeJS - юзайте его.
Если можно бла бла бла - юзайте его.
Если только PHP, то можно попробовать Long polling.

Клиенты с помощью XMLHttpRequest подключаются к файлу, скажем, autoupdate.php. autoupdate.php не отдает результат, а тянет время - while(true) {} или типа того.

Если autoupdate.php может сам вовремя определить, когда обновить, то:
<?php
while(true) {
    $update = ...;
    if($update) {
        echo "UPD ";
        flush();
    }
    sleep(1); // Подкрутить
}


В JS:
var xhr = new XMLHTTPRequest();
xhr.timeout = 1000 * 60 * 60; // 1 час
xhr.onerror = function(e) {
    // Печалька
};
xhr.onreadystatechange = function() {
    if(xhr.readyState != 3) return; // Если бы был 4, мы бы ловили, только когда скрипт бы завершился, а 3 - любой вход
    // В xhr.responseText новый результат
    location.reload();
};
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы