6

如何通过javascript清除浏览器缓存和历史记录我发现了一些链接,例如:-

如何清除浏览器历史记录并清除缓存?

如何在javascript中清除浏览器哈希历史

但他们没有正确描述如何通过javascript(或jQuery)实现这一点

我需要这样做,以便用户不必执行 [Ctrl+F5] 或手动清除缓存,并且最新版本的 javascript 文件会加载到浏览器中。

主要目的是在用户每次访问网站时加载最新的 javascript 文件。我在基于 ASP.NET MVC 的应用程序和 javascript 文件包含在 .csHtml 文件中。

4

2 回答 2

17

调用from 脚本window.location.reload(true)ctrl+F5:)

于 2013-01-25T15:10:34.707 回答
11

还有其他方法可以防止 JavaScript 文件(或其他文件)被缓存。

只需将一些虚拟参数附加到 url 的末尾。例如 -

http://www.yourCoolSite.com/resources/js/main.js?r=SOME_RANDOM_VALUE

您最好在服务器端执行此操作。在 PHP 中,这看起来像这样 -

echo "http://www.yourCoolSite.com/resources/js/main.js?r=".time();

使用该time()函数,我们将当前纪元时间戳附加到 URL 中,因此保证*该文件每次在浏览器中看起来都不同。

* 直到 2038 年 ;)

于 2013-01-25T14:52:52.563 回答