Javascript 每次请求到来时检索页面html页面

Javascript 每次请求到来时检索页面html页面,javascript,jquery,html,internet-explorer,Javascript,Jquery,Html,Internet Explorer,目前在我的HTML页面上,我面临一个问题,它不是从服务器检索最新的页面,而是从缓存中获取它。为了解决这个问题,我在IE中选择了下面的选项,它似乎解决了我的页面 有什么方法可以用HTML或JavaScript实现吗?HTML页面上有标记或属性吗 我感谢你的指导 谢谢, Jdp 加载页面时,您可以检查是否有查询值。如果没有,则可以使用缓存清除器重新加载页面 我认为这会带来糟糕的用户体验。 如果您转到:www.site.com,它会进行缓存,那么转到www.site.com?cb=1将再次获得该页面。

目前在我的HTML页面上,我面临一个问题,它不是从服务器检索最新的页面,而是从缓存中获取它。为了解决这个问题,我在IE中选择了下面的选项,它似乎解决了我的页面

有什么方法可以用HTML或JavaScript实现吗?HTML页面上有标记或属性吗

我感谢你的指导

谢谢, Jdp


加载页面时,您可以检查是否有查询值。如果没有,则可以使用缓存清除器重新加载页面

我认为这会带来糟糕的用户体验。


如果您转到:
www.site.com
,它会进行缓存,那么转到
www.site.com?cb=1
将再次获得该页面。这是一个缓存破坏者。您可以生成一个随机数,并使用新的缓存buster将页面重定向到同一页面。

如果您提供的是静态HTML内容,那么每次当您知道使用缓存buster时页面应该不同时,您应该更改指向该页面的链接

<a href="new_html.html?v=2">My Page</a>

PHP
中,类似这样的操作可以:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>


要了解更多详细信息,请转到。

如果您知道您的页面有很多经常更改的内容,您可以通过AJAX请求向服务器获取这些内容,而页面的其余部分可以保持不变。此外,在构造AJAX请求时,可以向发送到服务器的URI中添加随机字符串,以确保绕过浏览器缓存:

var uri = "/fetchContent?param1=value1&param2=value2...&rand=" + rand();

如果只是因为您想测试页面并想强制重新加载,则CTRL+F5应该对IE和大多数其他浏览器起作用。

如果您可以控制正在获取的页面,请添加以下标记:

<meta http-equiv="Cache-control" content="no-cache">


而且浏览器不会缓存它。

我认为最好的解决方案是在服务器端,为页面发送“禁用缓存”标题。您能告诉我们您使用什么服务器端语言吗?(ASP.NET、PHP、Java/Tomcat…)我使用的是旧的shttpd服务器。本文:解释浏览器缓存的工作原理,以及您显示的设置如何影响无法显式设置缓存生存期的标题。是的,但如果是人们可能直接在URL栏中键入的链接,该怎么办?