我正在创建一个网页,每当我刷新或从一个页面移动到另一个页面时,它都会继续重新加载缓存值。但是我不希望它这样做,因为我正在使用动态数据(来自数据库),所以我希望它每次刷新时重新加载数据库中的值,或者任何页面处理完成时。 我并不仅仅意味着清除浏览器缓存。我不希望我的最终用户每次使用我的应用程序时都必须去工具。
答案 0 :(得分:8)
您是否检查过您在IE设置中启用了“每次访问时重新加载”?
互联网选项 - >一般 - >浏览历史记录 - >设置
检查:每次访问网页
答案 1 :(得分:6)
答案 2 :(得分:3)
如果你正在使用asp或aspx试试这些
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
如果另一个将其放在标题中
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
答案 3 :(得分:0)
我也遇到过这个问题,特别是在Internet Explorer 6中,我没有使用Internet Explorer 8.以下是在排除之前需要检查的事项列表:
如果这些都不起作用,请尝试使用不同版本的Internet Explorer。我有一个案例,我可以更改一个字段,然后单击我的Web应用程序中的一个按钮,它会重新加载并正确保存新字段,并更新数据库。然后我进入我的后端应用程序并手动修改数据并保存一个新值。然后我返回到我的Web应用程序并单击标题栏并按Enter键,使其重新加载。在IE6中,刷新的页面显示旧数据,但如果我在IE8中执行此操作,则会显示新数据。在IE6中,我可以做两件事来刷新:清除临时文件,或者通过在末尾添加&amp; a = 123来修改URL字符串并按Enter键。我很清楚这是IE6中的一个错误(我使用的是6.0.3790.3959版,它说的是SP2)。
答案 4 :(得分:0)
解决缓存问题,我们在工作场所所做的是将随机数或当前日期时间附加到请求的网址。
由于IE通过精确的URL(包括查询字符串)查找缓存,因此它找不到缓存的值,因此会获取一个新的页面。
答案 5 :(得分:0)
您只需通过将当前时间(以毫秒为单位)附加到url.So来更改刷新URL。每次刷新页面时,URL也会随时间参数而变化。所以缓存不会生效..
var mSeconds = new Date().getTime() / 1000;
var url = 'www.mysite.com/test.do?time=' + mSeconds;
答案 6 :(得分:0)
我现在正在开发一个动态页面,并且已经在IE 10 Preview中发现我无法刷新它。我有以下标题(取自View Source):
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">
我还检查了IE本身的设置,并更改了主页面的URL(但不是页面使用的底层php调用)。只有当我第一次启动它时,它才会刷新页面并显示当前数据。我甚至可以关闭选项卡并在新选项卡中打开URL,它会显示缓存的数据。
@ developer747和@Sreeraj:我不得不使用随机数技巧来更改基础数据请求的URL,因为它们显然正在被缓存,从而无法使用xmlhttpRequest来检索动态内容首先。 FireFox,Chrome,Safari和Opera都不需要这个“技巧”。