如何在浏览器(IE,Chrome,Firefox Safari)上按回按钮时刷新页面?

时间:2011-07-26 16:33:59

标签: asp.net browser cross-browser

大多数浏览器从缓存重新加载页面,并且不执行往返服务器刷新。 我在Page_Load上添加了Response.AppendHeader(“Cache-Control”,“no-store”),但不适用于Chrome,Firefox,Safari。 如何在浏览器(IE,Chrome,Firefox Safari)上按回按钮时刷新页面?

2 个答案:

答案 0 :(得分:5)

这是我假设的c#代码。 根据大多数人的建议,这些是我的建议。

Response.Cache.SetNoStore();

Response.Cache.SetCacheability(HttpCacheability.NoCache);

Response.AppendHeader("pragma","no-cache");

Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));

答案 1 :(得分:2)

强制执行此行为可能是一个坏主意,因为用户希望看到之前看到的内容,而不是刷新的视图。如果这是Chrome / Firefox / Safari的行为,那么大概是用户希望这种行为,因为他们选择了该浏览器。如果他们想要刷新视图,他们可以自己刷新。

那就是说,我经常在浏览器中看到这是用Javascript完成的。如果您第二次看到正在加载的页面,则可以挂钩页面加载事件并手动刷新。但是如果客户端使用noscript,或者不支持Javascript,那么你运气不好。另外,请注意正确重新加载,这样用户每次单击“返回”时都不会被带到新页面,并且会遇到快速点击反应的攻击。<​​/ p>