0

这听起来像是一个很容易回答的问题,但请在回答我的完整问题之前阅读<?php echo "<meta http-equiv='refresh' content='0;url=./live'>"; ?>or <?php header ('Location: ./'); ?>

我的一个小项目有问题。像往常一样,我已经在 stackoverflow 和 Google 上广泛搜索了一段时间来寻找这个解决方案,但到目前为止还没有找到。

我的问题:

是否可以在不重新渲染 DOM 的情况下自行刷新页面(通过重新渲染 DOM,我的意思是不要让页面变白并重新加载所有页面内容)。

我调查的内容:

<?php
    $time = time();
    $event_time = '1371772800';

    if($time > $event_time) {
        echo "<meta http-equiv='refresh' content='0;url=./'>";
        exit();
    }
?>

$event_time这很好用,但是在用户手动重新加载页面之前它不会检测是否满足值,所以我添加<meta http-equiv=Refresh content='10; URL=./'>到我的 HMTL 中也很好用。然而,浏览器仍然会重新渲染整个 DOM,显示令人分心的白色闪光(如果只有几秒钟)。

总结一下:

  • 有没有办法在 PHP 或 JQuery 中实现这一点?
  • 有没有办法强制将页面缓存一段时间以使浏览器不会重新呈现?

像往常一样,任何正确方向的帮助或指示将不胜感激!

编辑:

我研究了 AJAX 解决方案,但没有找到任何解决方案,因为我不想更新页面上的任何对象。我正在寻找满足 $event_time 变量时要重定向的页面。有没有办法在 PHP 中做到这一点?

4

1 回答 1

0

2020年,您可以使用turbolinks.jspjax做喜欢的单页应用程序。

于 2020-05-22T04:51:57.713 回答