2010-05-04 91 views
0

我们正在使用MVC Web应用程序。一些代码使用JavaScript。当我们将任何更改部署到JavaScript时,更改不会反映在客户端上。我们必须要求客户做CTRL + F5才能获得更改。是否有将JavaScript更改推送到客户端的标准方式?JavaScript文件更改部署

回答

2

您可以参考这些文件与一个版本,像这样:

<script type="text/javascript" src="myScript.js?v=12345"></script> 

v后的数字代表你的版本号,因此,当一个新的构建推动,他们再次抓住文件。查看本页上的源代码以查看相同的行为:)这为您提供了允许用户尽可能(永远)缓存文件的好处,但仍然可以让他们自动获取更新。

0

你可以试试这个元标记

<meta http-equiv="Cache-Control" content="no-cache" /> 
<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="0" /> 
0

你不是说什么服务器端语言您的网站是从Rails的世界一记漂亮的窍门是检查的“最后修改”时间文件,并将其作为GET参数添加到URL中。

在PHP中,它应该是这样的:(当然,你需要在filemtime电话给路径可能需要是绝对的)

<script type="text/javascript" 
     src="script.js?time=<?php echo filemtime("script.js");">