IE 11被检测为IE 7.0

时间:2017-05-17 06:45:46

标签: asp.net vb.net internet-explorer webbrowser-control internet-explorer-11

我正在尝试检测用户的浏览器,我想要停止所有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页面中显示的浏览器名称和版本。但当我的一位用户发给我这张照片时,我感到很沮丧

this picture

如果他点击“关于Internet Explorer”,则会出现一个显示IE版本11的弹出窗口。但正如你所看到的(底部的黑色句子)我的代码检测到“浏览器:IE版本:7.0”而不是“浏览器:Mozilla版本:0.0”

我已尝试过上述两种方法,并且都将此用户重定向到outdatedBrowser.aspx页面。可能是什么问题,我该如何解决?我有IE 11,我从未遇到过这个问题...

0 个答案:

没有答案