目前在我的HTML页面上,我遇到的问题是它没有从服务器检索最新页面,只是从缓存中获取它。要解决这个问题,我在IE中选择了以下选项,这似乎解决了我的页面。
有什么办法可以用HTML或JavaScript实现吗? HTML页面上的任何标记或属性?
感谢您解决此问题的指导。
谢谢, JDP
答案 0 :(得分:1)
如果您可以控制正在提取的页面,请添加以下标记:
<meta http-equiv="Cache-control" content="no-cache">
,浏览器不会缓存它。
答案 1 :(得分:0)
加载页面时,您可以检查是否有查询值。如果没有,那么您可以使用缓存破坏程序重新加载页面。
我认为这会产生糟糕的用户体验。
如果您转到:www.site.com
,并且它会缓存,转到www.site.com?cb=1
将再次获取该页面。这是一个缓存破坏者。您可以生成一个随机数,并使用新的缓存破坏程序将页面重定向到同一页面。
答案 2 :(得分:0)
如果您正在提供静态HTML内容,那么每当您使用缓存破坏者知道页面应该不同时,您应该只更改引用该页面的链接。
<a href="new_html.html?v=2">My Page</a>
答案 3 :(得分:0)
在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
?>
有关详细信息,请转到here。
答案 4 :(得分:0)
如果您知道您的网页有很多经常更改的内容,您可以通过AJAX请求将只内容提取到您的服务器,而页面的其余部分可以保持不变。此外,您可以在构建AJAX请求时向发送到服务器的URI添加随机字符串,以确保绕过浏览器缓存:
var uri = "/fetchContent?param1=value1¶m2=value2...&rand=" + rand();
答案 5 :(得分:0)
如果只是因为你想测试你的页面并想强制重新加载,那么CTRL + F5应该为IE和大多数其他浏览器提供技巧。