我正在尝试检测用户的浏览器,我想要停止所有IE版本的< 10.这就是为什么我创建了两种不同的方法并且两者都做同样的事情:第一种方法依赖于userAgent,第二种方法依赖于浏览器名称和版本:
Public Function DetectBrowser() As Boolean
Dim accept As Boolean = True
Dim version As Integer = 0
'Dim userAgent = HttpContext.Current.Request.UserAgent
'Dim MSIE = userAgent.IndexOf("MSIE ")
'If MSIE > 0 Then
' ' IE 10 or older
' Dim cutteduserAgent = userAgent.Substring(MSIE + 5)
' version = Integer.Parse(cutteduserAgent.Substring(0, cutteduserAgent.IndexOf(".")), 10)
' If version < 10 Then
' accept = False
' ' Else case will be true as it is defined by default
' End If
'End If
Dim browser = HttpContext.Current.Request.Browser.Browser
If browser = "IE" Then
version = HttpContext.Current.Request.Browser.Version
If version < 10 Then
accept = False
End If
End If
DetectBrowser = accept
End Function
我在default.aspx页面中使用此方法,如果此方法返回false,则将用户重定向到OutdatedBrowser.aspx页面,否则用户将被重定向到登录页面。除此之外,我还添加了要在outdatedBrowser.aspx页面中显示的浏览器名称和版本。但当我的一位用户发给我这张照片时,我感到很沮丧
如果他点击“关于Internet Explorer”,则会出现一个显示IE版本11的弹出窗口。但正如你所看到的(底部的黑色句子)我的代码检测到“浏览器:IE版本:7.0”而不是“浏览器:Mozilla版本:0.0”
我已尝试过上述两种方法,并且都将此用户重定向到outdatedBrowser.aspx页面。可能是什么问题,我该如何解决?我有IE 11,我从未遇到过这个问题...