Есть скрипт, который перезагружает страницу через рандомное время. Использую для этого следующие строки кода: Код (Text): <? header('HTTP/1.1 200 OK'); header('Refresh:'.$refresh_time.'; URL=/index.php'); ?> <meta http-equiv="refresh" content="<?=$refresh_time?>" /> <script>setTimeout(function(){location = ''},<?=$refresh_time?> * 1000)</script> Если на ноуте все работает без ошибок, то на телефоне как только экран гаснет, либо я выхожу из браузера, код перестает работать. Как заставить его работать в фоновом режиме и до тех пор, пока не будет закрыта вкладка браузера? Заранее спасибо!
у тебя будет проблема с перезагрузкой, первое: header отправляет браузеру команду ( перезагрузку ) браузер снова трогает/запускает твой скрипт. Но ты же при первом starting php браузер вырубил. Все. Теперь у тебя есть проблема которую должен решить с браузером. --- Добавлено --- не код перестает, а браузер. Точнее система android/хняДругая переходит в ожидание (ПАУЗА) приложений. --- Добавлено --- а теперь по говнокоду: PHP: <?php header ( 'HTTP/1.1 200 OK' ); header ( 'Refresh:'.$refresh_time.'; URL=/index.php' ); ?> <meta http-equiv="refresh" content="<?=$refresh_time?>" /> <script> setTimeout ( function() { location = '' }, <?=$refresh_time?> * 1000 ) </script> прокомментируй каждую строчку..
Может можно тогда написать доп. скрипт, напр. на JS, который бы периодически "пинал" браузер, чтобы система думала, что приложение все еще работает? --- Добавлено --- Я уже все убрал, кроме JS)
короче PHP: system ( 'php daemon.php' ); --- Добавлено --- пинай настройки андройда в энергосбережении "никогда не засыпать"
Может тема очередная "проблема" молотка, а изначально нужно что-то вроде этого https://pushall.ru/blog/whatispushnotifications. ?
Может быть и не надо обновлять страницу, когда на неё никто не смотрит? --- Добавлено --- Я бы переформулировал условие так: надо чтобы страница, которую видит пользователь, была не старше Х секунд. Решение: meta refresh в секции head страницы. Без скриптов. Зачем ты соревнуешься сам с собой? --- Добавлено --- Ещё надо учесть случай, когда браузер или прокси решает, что страница не обновлялась и берёт содержимое из внутреннего кеша. Это решается через выдачу заголовков expire или через добавление случайного параметра в адрес.
@artoodetoo, там JS дублирует Refresh. Это норм. Не норм., что ТС использует это не по назначению. @Redux, какой скрипт? Пиши на JS без перезагрузки страницы. Если нужно дергать сервер – AJAX.
@artoodetoo, Web несовершенен, приходится изгаляться --- Добавлено --- P.S. И setTimeout, и Refresh «недостандартизированы». Плюс JS может быть откл. --- Добавлено --- P.P.S. Оно еще дублируется ручником «Если через N мин./сек. не произойдет автопереход, щелкните по ссылке».
Забыл наверно добавить, что этот скрипт с перезагрузкой страницы нужен для своих целей. То есть этот код выполняется только мной, другим пользователям он не доступен)