JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 如何在退出mvc3.net后禁用浏览器后退按钮大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为userlogin使用FormsAuthentication.
用户注销成功后我遇到问题,后退按钮是浏览器允许用户查看页面.
我试过使用 javascript
<script type = "text/javascript" >
        function preventBack() { window.history.forward(1); }
        setTimeout("preventBack()",0);
        window.onunload = function () { null };
</script>

但是后退按钮完全禁用.
它工作bt,我不想在用户登录时禁用后退按钮功能.我希望我的LOGGED IN用户正常使用浏览器返回按钮.但是一旦他选择退出,他就不能通过按Back来看任何内容.
我也试过使用

Session.Abandon();
 Response.Cache.SetCacheability(HttpCacheability.NoCache);
 Response.Cache.SetExpires(DateTime.Now);

但这也不行.我该如何解决?

解决方法

您可以在用户注销时清除浏览器历史记录:
var url = window.location.href;
window.history.go(-window.history.length);
window.location.href = url;

然而,这不是特别强大 – 它依赖于javascript,它不会在多个选项卡上工作,也可能只会使用户烦恼. IMO最好的办法是设置适当的缓存头,使得浏览器不会通过适当应用的NoCacheAttribute缓存任何“登录”页面:

public class NoCacheAttribute : ActionFilterAttribute
{  
  public override void OnResultExecuting(ResultExecutingContext filterContext)
  {
      filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
      filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false);
      filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
      filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
      filterContext.HttpContext.Response.Cache.SetNoStore();

      base.OnResultExecuting(filterContext);
  }
}

大佬总结

以上是大佬教程为你收集整理的javascript – 如何在退出mvc3.net后禁用浏览器后退按钮全部内容,希望文章能够帮你解决javascript – 如何在退出mvc3.net后禁用浏览器后退按钮所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: