0

我知道这有很多,但我找不到适合我情况的解决方案。我正在关注别人的 asp.net 代码。我们的网站生成了大量用户可以看到的 html 和 xml 文件。在一个地方,为加载其中一个页面而动态生成的链接实际上是一种微型形式,使浏览器认为正在提交数据并寻找“新的”内容。但另一个是带有链接的按钮,链接在 vb 代码后面使用 javascript 函数在新窗口中打开页面。我试过用“?submit=.....”来模拟表单提交,但它没有用。

tl; dr 什么 javascript 函数可以打开页面并告诉浏览器获取最新版本,而忽略缓存?

4

2 回答 2

3

在 JavaScript 中,我认为防止缓存的唯一方法是修改 url。一个技巧是使用当前日期作为时间戳:

url = url + "?_ts="+new Date().getTime();

(当然,如果您的 url 已经包含查询字符串,则将 ? 替换为 &)

于 2013-02-21T00:15:24.630 回答
0

没有 JavaScript 可以满足您的需求。如果您需要新版本,最简单的方法是在 URL 的查询字符串中添加时间戳。

<script type="text/javascript" src="/js/file?cacheBuster=<?= DateTime.Now ?>" > </script>

为了更好地控制,您可以使用构建版本作为 cacheBuster 参数,这样您就不必每次都请求新文件。

于 2013-02-21T00:16:02.633 回答