如何确保浏览器不缓存页面

时间:2011-09-30 17:36:02

标签: asp.net mobile

我需要确保在返回页面时重新加载页面,而不向用户显示任何消息。

所有浏览器的行为必须相同。

2 个答案:

答案 0 :(得分:1)

我能够可靠地实现这一目标的唯一方法,就是使用AJAX,就是在页面Url上附加查询字符串标记,例如DateTime.Now.Ticks

您不能指望<META>代码。

http://bla.com/bla.aspx?token=348343889

答案 1 :(得分:0)

试试这个:

编辑 - 添加了SetNoStore()

Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();

我认为你也可以这样做:

<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">

这是针对Safari的解决方案:

<body onunload="" ...>

这是另一个解决方案,但它有点像黑客:

<script type="text/javascript">
function noBack(){window.history.forward();}
noBack();
window.onload=noBack;
window.onpageshow=function(evt){if(evt.persisted)noBack();}
window.onunload=function(){void(0);}
</script>