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

arl*_*len 5 browser asp.net cross-browser

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

abn*_*317 5

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

Response.Cache.SetNoStore();

Response.Cache.SetCacheability(HttpCacheability.NoCache);

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

Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
Run Code Online (Sandbox Code Playgroud)


Bri*_*don 2

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

也就是说,我经常在浏览器中看到使用 Javascript 完成此操作。如果您看到页面正在第二次加载,您可以挂钩页面加载事件并手动刷新。但如果客户端使用 noscript,或者不支持 Javascript,那么你就不走运了。另外,请注意正确重新加载,以免用户每次单击“后退”时都进入新页面并陷入快速单击反应的战斗中。