新版本的autoreload网页

时间:2014-06-10 15:03:54

标签: javascript php

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

有很多人使用此页面并不是非常精通网络,当我们要求他们刷新页面时,可能无法理解这意味着什么。

当我们发布新版本时,最大的问题就出现了。特别是JavaScript代码(但不仅仅是)可以是客户网页中的旧代码,因为它们可能无法在几周内刷新页面。

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

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

我怎样才能强迫"浏览器在新版本发布时重新加载? 我更喜欢简单的东西,不需要额外的库或计时器。

当用户对页面执行某些操作时,页面不会刷新也非常重要,因为在发生这种情况时,页面可能会丢失。

1 个答案:

答案 0 :(得分:2)

我认为您可以在代码中添加版本常量

 <?php

 define(VERSION, '1.0');

每次调用javascript都会添加此扩展程序

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

因此,当您更新版本时,导航器将会调用每个js。是否更清楚了?

您还可以添加将在任何验证操作之前调用的版本检查Web服务,以便您可以在执行操作之前刷新页面或警告用户。

没有timer或socket.io,您无法为用户刷新页面。