在新版本上自动加载网页

autoreload webpage on new release

本文关键字:加载 网页 新版本      更新时间:2023-09-26

我有一个完全基于ajax的PHP网站。有一个index.php,但它的一部分,所有其他页面从未直接呈现到浏览器中。相反,所有的post和get请求都是通过ajax从JavaScript完成的。所以基本上,如果你去/contact.php你什么都看不到。所有页面均在index.php内呈现。

有很多使用这个页面的人不是很懂网络,当我们要求他们刷新页面时,他们可能不明白这是什么意思。

最大的问题发生在我们发布新版本的时候。特别是JavaScript代码(但不仅仅是)可能是客户端网页中的旧代码,因为他们可能已经几个星期没有刷新页面了。

我执行svn update以将新代码发布到服务器。然后刷新页面,查看新功能。

然而,不知道如何刷新的人将看不到任何东西。我在页面上添加了一个带有文本"refresh"的大按钮,它执行location.reload。这可能对一些人有帮助,但不是每个人。

如何在发布新版本时"强制"浏览器重新加载?我更喜欢一些简单的东西,不需要额外的库或计时器。

当用户对页面进行操作时,页面不刷新也是非常重要的,因为此时他们可能会丢失工作。

我认为你可以在你的代码中添加一个版本常量

 <?php
 define(VERSION, '1.0');

每次调用javascript时添加这个扩展名

 <script type="text/javascript" src="myfile.js?<?php echo VERSION ?>">

所以当你更新版本时,每个js都会被导航器召回。是不是更清楚了?

您还可以添加一个版本检查web服务,它将在任何验证操作之前被调用,因此您可以在执行操作之前刷新页面或警告用户。

没有定时器或套接字。