2013-04-06 18 views
2

我想知道是否有某种方式来“强制”用户更新用户的网页浏览器。如何促使用户在进入网站时更新用户的浏览器

例如,如果用户进入我的网站并且他或她使用的是旧版本的浏览器,则会显示通常隐藏的页面区域。并且该显示区域将包含浏览器更新建议以及超链接到外部页面,用户可以下载新版本的用户浏览器或更新当前版本。

具体而言,这里是我的目标两个方面的,我需要指导:

  1. 如何识别浏览器和它的版本,并
  2. 如何显示特定于浏览器中的隐藏区域用户目前正在使用。 (也许每种类型的普通浏览器都会有一个区域,所以问题是如何显示相关区域。)

回答

2

在我的研究中添加预警_Layout.cshtml并在上面的代码中设置适当的标志我碰到这个网站它提供了一个小的基于JavaScript的通知组件来了:

http://browser-update.org/index.html

这正是我所期待的。

1

例如,您可以在ActionFilterAttribute中执行此操作。例如,它可以像以下:

public class WarnAboutOldBrowserAttribute : ActionFilterAttribute 
{ 
    public override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     var request = filterContext.HttpContext.Request; 

     //check if it browser warning was already checked 
     if (request.Cookies["checked"] != null) 
     { 
      return; 
     } 
     //exmaple is for IE 6 
     if (request.Browser.Browser.Trim().ToUpperInvariant().EqualsExact("IE") && request.Browser.MajorVersion <= 6) 
     { 
      filterContext.Controller.ViewData["RequestedUrl"] = request.Url.ToString(); 

      filterContext.Result = new ViewResult { ViewName = "OldBrowserWarning" }; 
     } 
     //add cookie for caching 
     filterContext.HttpContext.Response.AppendCookie(new HttpCookie("checked", "true")); 
     } 

    } 
} 

当然,你也必须添加一个名为“OldBrowserWarning”显示信息到用户视图。

另一种方式是在ViewBag

相关问题