2011-03-04 6 views
20

Busqué en Google este tema y me encontré con tres formas diferentes de configurar las capacidades del navegador: browscap.ini, elemento browserCaps en web.config y archivos .browser en App_Browsers. Pensé que los archivos de navegador son la última manera, pero parece que no encuentro archivos actualizados. Pero encontré bastante fresco browscap.ini de http://browsers.garykeith.com/downloads.asp.La mejor solución de detección de exploradores en ASP.NET 4.0

Mi primera prioridad es excluir rastreadores comunes de las estadísticas de visitantes. La segunda prioridad es detectar el navegador y el sistema operativo con las versiones correctas (por ejemplo, Opera 11/Win7).

¿Hay alguna biblioteca que pueda usar? ¿Browscap.ini sigue siendo una forma válida y es posible usarlo sin acceso a los archivos del sistema? ¿Dónde puedo encontrar archivos .browser actualizados?

+0

http://browsers.garykeith.com/downloads.asp no encontrado – Kiquenet

Respuesta

7

Encontré un analizador de agente de usuario de http://user-agent-string.info/ y parece ser lo suficientemente bueno para mis propósitos.

+0

no gratis, ¿alguna muestra de código fuente completo usándolo? – Kiquenet

8

más información: http://msdn.microsoft.com/en-us/library/3yekbd5b.aspx ¿Ha comprobado esto:

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

He estado utilizando la solicitud. Navegador para obtener información del navegador, pero necesito archivos de configuración actualizados. Me da Opera 9.80/WinNT cuando pruebo con Opera 11/Win7. –

-1

Hasta ahora he utilizado para la detección http://api.jquery.com/jQuery.browser/ lado del cliente.

+3

No se recomienda su uso. Esto es de los Documentos oficiales de jQuery: "Recomendamos no utilizar esta propiedad, intente utilizar la detección de características en su lugar (consulte jQuery.support). JQuery.browser se puede mover a un complemento en una versión futura de jQuery". – Jonathan

+0

De hecho, estaba en desuso en v1.3 y eliminado completamente en v1.9. –

3

Sólo para que nadie más va por ese camino oscuro, tenga en cuenta que incluso el equipo de jQuery recomendamos que no utilice jQuery.browser objeto:

"La propiedad $ .browser está en desuso en jQuery 1.3"

0

¡La mejor respuesta es la detección de funciones, no la detección del navegador! Esto es particularmente cierto en el día en que Firefox & Chrome está lanzando lanzamientos cada pocos meses y el uso del navegador móvil está creciendo. Utilice Modernizr (http://Modernizr.com) o una biblioteca equivalente para detectar las características que le interesan.

+4

No necesito saber si el navegador admite los últimos trucos css o html5. Escribo acerca de la programación de C# /. Net y es probable que el público objetivo tenga Windows y navegador de última generación. Tengo curiosidad por saber en qué estaban interesados ​​los demás. –

+0

Mientras existan errores en el navegador, querré saber qué usuarios de navegador están usando. Si un cliente me llama o me envía un correo electrónico para decirme que la página se ve rota, querré saber su navegador para ver si puedo repetirlo. Prefiero detectar y registrar la versión de su navegador con anticipación que tratar de obtener esta información de ellos en el teléfono. – Chris

Cuestiones relacionadas