2011-03-04 2 views
20

J'ai recherché sur ce sujet trois possibilités différentes pour configurer les fonctionnalités du navigateur: browscap.ini, l'élément browserCaps dans web.config et les fichiers .browser dans App_Browsers. Je pensais que les fichiers .browser sont les derniers, mais je ne trouve pas de fichiers à jour. Mais j'ai trouvé tout à fait frais browscap.ini de http://browsers.garykeith.com/downloads.asp.La meilleure solution de détection de navigateur dans ASP.NET 4.0

Ma première priorité est d'exclure les robots d'exploration courants des statistiques de visiteurs. La deuxième priorité est de détecter le navigateur et l'os avec des versions correctes (par exemple Opera 11/Win7).

Y a-t-il des bibliothèques que je pourrais utiliser? Browscap.ini est-il toujours valide et est-il possible de l'utiliser sans avoir accès aux fichiers système? Où puis-je trouver les fichiers .browser à jour?

+0

http://browsers.garykeith.com/downloads.asp pas trouvé – Kiquenet

Répondre

7

J'ai trouvé un analyseur d'agent utilisateur de http://user-agent-string.info/ et il semble être assez bon pour mes fins.

+0

non gratuit, un exemple de code source complet l'utilisant? – Kiquenet

8

plus d'info: http://msdn.microsoft.com/en-us/library/3yekbd5b.aspx Avez-vous vérifié ceci:

System.Web.HttpBrowserCapabilities browser = Request.Browser; 
    string s = "Browser Capabilities\n" 
     + "Type = "     + browser.Type + "\n" 
     + "Name = "     + browser.Browser + "\n" 
     + "Version = "     + browser.Version + "\n" 
     + "Major Version = "   + browser.MajorVersion + "\n" 
     + "Minor Version = "   + browser.MinorVersion + "\n" 
     + "Platform = "    + browser.Platform + "\n" 
     + "Is Beta = "     + browser.Beta + "\n" 
     + "Is Crawler = "    + browser.Crawler + "\n" 
     + "Is AOL = "     + browser.AOL + "\n" 
     + "Is Win16 = "    + browser.Win16 + "\n" 
     + "Is Win32 = "    + browser.Win32 + "\n" 
     + "Supports Frames = "   + browser.Frames + "\n" 
     + "Supports Tables = "   + browser.Tables + "\n" 
     + "Supports Cookies = "  + browser.Cookies + "\n" 
     + "Supports VBScript = "  + browser.VBScript + "\n" 
     + "Supports JavaScript = "  + 
      browser.EcmaScriptVersion.ToString() + "\n" 
     + "Supports Java Applets = " + browser.JavaApplets + "\n" 
     + "Supports ActiveX Controls = " + browser.ActiveXControls 
       + "\n" 
     + "Supports JavaScript Version = " + 
      browser["JavaScriptVersion"] + "\n"; 

    TextBox1.Text = s; 
+8

J'ai utilisé Request. Navigateur pour obtenir des informations sur le navigateur, mais j'ai besoin de fichiers de configuration à jour. Il me donne Opera 9.80/WinNT quand je teste avec Opera 11/Win7. –

-1

Jusqu'à présent, je l'ai utilisé pour la détection http://api.jquery.com/jQuery.browser/ côté client.

+3

Il n'est pas recommandé de l'utiliser. Cela vient des Docs officiels jQuery: "Nous vous déconseillons d'utiliser cette propriété, essayez plutôt d'utiliser la détection de fonctionnalités (voir jQuery.support) jQuery.browser peut être déplacé vers un plug-in dans une future version de jQuery." – Jonathan

+0

En effet, il était obsolète dans la version 1.3 et entièrement supprimé dans la version 1.9. –

3

Juste pour que personne ne va d'autre dans cette voie sombre, sachez que même l'équipe jQuery vous recommandons de ne pas utiliser l'objet jQuery.browser:

« La propriété .browser $ est désapprouvée dans jQuery 1.3 »

0

La meilleure réponse est la détection de fonctionnalités, pas la détection du navigateur! Cela est particulièrement vrai le jour où Firefox & Chrome sort des versions quelques mois et l'utilisation du navigateur mobile est en croissance. Utilisez Modernizr (http://Modernizr.com) ou une bibliothèque équivalente pour détecter les fonctionnalités qui vous intéressent.

+4

Je n'ai pas besoin de savoir si le navigateur supporte les dernières astuces css ou html5. J'écris à propos de la programmation C# /. Net et le public cible aura très probablement Windows et le navigateur saignante. Je suis curieux de savoir ce qui intéressait les autres. –

+0

Tant que les bogues du navigateur existent, je voudrais savoir quel navigateur les gens utilisent. Si un client m'appelle ou m'envoie un e-mail pour me dire que la page semble cassée, je voudrais connaître son navigateur pour voir si je peux le répéter. Je préfère détecter et enregistrer leur version de navigateur à l'avance que d'essayer d'obtenir cette information d'eux sur le téléphone. – Chris

Questions connexes