2012-02-14 182 views
1

我有一个不断更新我的JavaScript的问题。我已经尝试了大多数事情来确保浏览器不会缓存我的web应用程序,例如在src末尾使用变量,例如?v1等和html标记,但没有任何效果。在html页面中更新javascript并在更新后强制重新加载?

当我必须在html中更新我的javascript时,浏览器会自动缓存旧版本,并且新版本不会加载......任何提示?

你, 罗布

+0

你是否希望缓存你的脚本? – 2012-02-14 20:16:30

回答

1

你是你是在脚本分配一个不同的版本做的事情是正确的,这样的浏览器,因为它是使每个时间entirly不同的请求不能缓存的JavaScript。

例如:

<script type="text/javascript" src="/site-script.js?<?php echo time(); ?>"></script> 
<-- RENDERS --> 
<script type="text/javascript" src="/site-script.js?1234567890"></script> 
0

使用变量请求,只要你改变您的每一次变化的JavaScript字符串的脚本应该工作的时候。对于开发环境,我建议完全禁用浏览器缓存(例如,通过使用Firefox Web Developer插件可以在每页基础上完成)。另外整个页面刷新(通常是CTRL + F5)也应该重新加载脚本文件。

+0

我发现的问题是用户不知道ctrl + F5做了什么(或者甚至存在)。今天我有一个案例,我的应用程序从index.html开始。为了更新网站,我简单地写了一个简单的html“这个网站正在更新”页面,并将其命名为index.html,并将其更名为真正的应用程序index_.html。更新之后,人们开始问起为什么这么长时间......他们只看到了缓存版本......它已经准备好了至少30分钟。 – 2012-02-14 21:19:47

+0

在制作中,请求带有版本号的文件应该可以正常工作,不会有任何问题。当然,你也必须改变index.html。它也取决于网络服务器设置。 – Daff 2012-02-14 22:01:46

相关问题