Reconnaissance de navigateur et IE11
Bonjour,
J'ai un petit souci avec un site où je vérifie la version du navigateur.
J'utilise :
Code:
1 2 3 4 5
|
Dim InfNav As HelperBrowser.InfoNavigateur = HelperBrowser.InfoBrowserUA()
If (InfNav.Name = HelperBrowser.CHROME AndAlso InfNav.Version < 30) OrElse (InfNav.Name = HelperBrowser.IE AndAlso InfNav.Version < 9) OrElse (InfNav.Name = HelperBrowser.FIREFOX AndAlso InfNav.Version < 25) OrElse (InfNav.Name = HelperBrowser.OPERA AndAlso InfNav.Version < 15) OrElse (InfNav.Name = HelperBrowser.SAFARI AndAlso InfNav.Version < 4) Then
HelperJournal.WriteEntry(InfNav.Name & "/" & InfNav.Version.ToString)
Response.Redirect("~/BadBrowser.aspx") |
...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
Public Class HelperBrowser
Private Const MsgJournal As String = "Information Browser"
Public Const CHROME As String = "CHROME"
Public Const FIREFOX As String = "FIREFOX"
Public Const SAFARI As String = "SAFARI"
Public Const OPERA As String = "OPERA"
Public Const IE As String = "IE"
Public Const IE11 As String = "INTERNETEXPLORER"
Public Const INCONNU As String = "INCONNU"
Public Class InfoNavigateur
Public Name As String
Public Version As Integer
End Class
Public Shared Function InfoBrowserUA() As InfoNavigateur
Return InfoBrowserUA(Web.HttpContext.Current.Request.UserAgent, Web.HttpContext.Current.Request.Browser)
End Function
Public Shared Function InfoBrowserUA(ByVal UserAgent As String, ByVal MonNav As HttpBrowserCapabilities) As InfoNavigateur
Dim Retour As New InfoNavigateur
Try
Dim MonUserAgent As String = UserAgent.ToUpper
Dim MesPartUserAgent() As String = MonUserAgent.Split(" ")
If MonUserAgent.Contains(CHROME) Then
Retour.Name = CHROME
For Each Part As String In MesPartUserAgent
If Part.Contains(CHROME) Then
Retour.Version = CInt(Part.Substring(Part.IndexOf("/") + 1).Split(".")(0))
Exit For
End If
Next
ElseIf MonUserAgent.Contains(SAFARI) Then
Retour.Name = SAFARI
For Each Part As String In MesPartUserAgent
If Part.Contains("VERSION") Then
Retour.Version = CInt(Part.Substring(Part.IndexOf("/") + 1).Split(".")(0))
Exit For
End If
Next
ElseIf MonUserAgent.Contains(OPERA) Then
Retour.Name = OPERA
For Each Part As String In MesPartUserAgent
If Part.Contains("VERSION") Then
Retour.Version = CInt(Part.Substring(Part.IndexOf("/") + 1).Split(".")(0))
Exit For
End If
Next
ElseIf MonUserAgent.Contains(FIREFOX) Then
Retour.Name = FIREFOX
For Each Part As String In MesPartUserAgent
If Part.Contains(FIREFOX) Then
Retour.Version = CInt(Part.Substring(Part.IndexOf("/") + 1).Split(".")(0))
Exit For
End If
Next
ElseIf MonUserAgent.Contains(IE) OrElse MonUserAgent.Contains(IE11) Then
Retour.Name = IE
Else
Retour.Name = MonNav.Browser.ToUpper
Retour.Version = CInt(MonNav.Version.Split(".")(0))
End If
Catch ex As Exception
HelperJournal.WriteException(ex, MsgJournal)
Retour.Name = INCONNU
Retour.Version = 0
End Try
Return Retour
End Function
End Class |
Pour IE11 ça me renvoie IE version= 7
Le plus fort c'est que en locale sur ma machine de dev (Win 8 VS2012) ça marche.
Le problème est sur le serveur de test (Win 2008 SP2 IIS 7)
J'ai même passé le projet en Framework 4.5 : pareil
Le serveur est à jour (http://blogs.msdn.com/b/ieinternals/...ko-webkit.aspx