在html页面中更新javascript并在更新后强制重新加载?

在html页面中更新javascript并在更新后强制重新加载?,javascript,caching,Javascript,Caching,我在更新javascript时经常遇到问题。我已经尝试了很多方法来确保浏览器不会缓存我的webapp,比如在src-eg?v1等的末尾使用变量和html标记,但没有任何效果 当我必须用html更新javascript时,浏览器会自动缓存旧版本,而新版本不会加载…有什么提示吗 你的, Rob通过为脚本分配不同的版本,您所做的是正确的,这样浏览器就无法缓存javascript,因为它每次都发出完全不同的请求 例如: <script type="text/javascript" src="/si

我在更新javascript时经常遇到问题。我已经尝试了很多方法来确保浏览器不会缓存我的webapp,比如在src-eg?v1等的末尾使用变量和html标记,但没有任何效果

当我必须用html更新javascript时,浏览器会自动缓存旧版本,而新版本不会加载…有什么提示吗

你的,
Rob

通过为脚本分配不同的版本,您所做的是正确的,这样浏览器就无法缓存javascript,因为它每次都发出完全不同的请求

例如:

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

通过为脚本分配不同的版本,您的操作是正确的,这样浏览器就无法缓存javascript,因为它每次发出的请求都完全不同

例如:

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

在请求脚本时使用变量应该有效,只要每次JavaScript更改时都更改字符串。对于开发环境,我建议完全禁用浏览器缓存(例如,通过使用可按页面执行的插件)。此外,对于正在重新加载的脚本文件,还应进行整页刷新(通常为CTRL+F5)。

只要您在每次JavaScript更改时更改字符串,在请求脚本时使用变量就可以工作。对于开发环境,我建议完全禁用浏览器缓存(例如,通过使用可按页面执行的插件)。此外,对于正在重新加载的脚本文件,还应进行整页刷新(通常为CTRL+F5)。

是否希望缓存脚本?是否希望缓存脚本?我发现的问题是,用户不知道CTRL+F5的作用(甚至不知道是否存在)。今天我遇到了一个案例,我从index.html开始创建应用程序。为了更新这个网站,我只写了一个简单的html“这个网站正在更新”页面,将其命名为index.html,并重命名为real app index.html。更新后,人们打电话询问为什么要花这么长时间…他们只看到缓存版本…它已经准备好至少30分钟。但在生产中,请求具有版本号的文件应该可以正常工作,没有问题。当然,您也必须为此更改index.html。这还取决于Web服务器的设置。我发现的问题是,用户不知道ctrl+F5的作用(甚至不知道是否存在)。今天我遇到了一个案例,我从index.html开始创建应用程序。为了更新这个网站,我只写了一个简单的html“这个网站正在更新”页面,将其命名为index.html,并重命名为real app index.html。更新后,人们打电话询问为什么要花这么长时间…他们只看到缓存版本…它已经准备好至少30分钟。但在生产中,请求具有版本号的文件应该可以正常工作,没有问题。当然,您也必须为此更改index.html。它还取决于Web服务器设置。