Как сделать функцию команды из админки перезагрузить страницу?

Рейтинг: 0Ответов: 3Опубликовано: 20.01.2015

Как при добавлении контента или изменения настроек в сетингс в админке дать команду на странице обновиться?

Ответы

▲ 3

JavaScript

setTimeout( function(){
       window.location.reload();
},1000);

Или php

header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); 
        exit;
▲ 1

Есть один способ, правда, он не очень хороший с точки зрения производительности. На главной странице создайте скрипт, который, допустим, раз в минуту будет отправлять ajax запрос на сервер. В админке по выполнению какого-то действия вы в БД добавляете таск - обновить страницу и/или url. В обработчике ajax вы смотрите в БД, извлекаете таск и на главной странице посредством js обновляете или перенаправляете страницу.

▲ 0

У первого ответа есть минусы. JS может быть отключен, а для PHP header() необходимо, чтобы вывода до выполнения функции не было. Поэтому можете воспользоваться следующим решением:

<?php
    print '<meta http-equiv="refresh" content="5; url=http://example.com/">';
?>

Атрибут content принимает два параметра, но может и один, первый время в секундах, через сколько обновить, второй собственно ссылку перехода, например, на другую страницу, если url не указывать, то страница просто обновится.