2011-12-01 23 views
16

Tengo samsung galaxy s2, en el código C# muestra Request.Browser.IsMobileDevice = false, pero quiero usar la versión móvil para mi aplicación. ¿Cómo puedo tener la capacidad de mostrar la versión móvil de mi sitio web para dispositivos Android?Request.Browser.IsMobileDevice = falso para Android, ¿por qué?

Muchas gracias.

Sergey.

+4

Lea http://stackoverflow.com/questions/1829089/how-does-ismobiledevices-work. – dknaack

+0

Solo agregue 51 grados usando Nuget – Shahdat

Respuesta

3

Puede consultar el User-Agent encabezado HTTP.

El user-agent es un identificador que (normalmente) contiene el nombre y la versión del navegador, así como el nombre y la versión de la plataforma o sistema operativo en el que se ejecuta el navegador. El estándar actual es dividirlo en elementos separados por espacios, pero en realidad el campo User-Agent se puede establecer en cualquier lugar.

Ejemplo:

Mozilla/5.0 Windows NT 6.1 WOW64 rv 8.0 Gecko/20100101 Firefox/8.0 

Esto demuestra que estoy corriendo Firefox 8.0 (que utiliza Mozilla Gecko v5.0 procesador y 2010/01/01 liberación de motor de diseño) en una versión de 64 bits de Windows NT Versión 6.1 (que es Windows 7).

Puede obtener más información sobre las cadenas de agente de usuario desde aquí: http://www.useragentstring.com/

+0

¡Muchas gracias! Me salvaste el día :) – Sergey

+0

Me alegra ser de ayuda. También debe leer bien el enlace de dknaack, que publicó como comentario de su pregunta. – Polynomial

+0

parece muy interesante ... Muchas gracias, de nuevo – Sergey

2

Uso 51Degrees.mobi de NuGet para un solo clic instalar con configuración cero que corregirá este problema.

+8

Ya no es una opción. Bueno, es una opción, pero no puede obtener actualizaciones sin una suscripción de datos premium. ¡Crowdsourcing es lo mejor! –

0

Comprobar si el dispositivo es Android es útil.

Hay un post con el código: http://dbarrowstechblog.blogspot.hk/2011/02/requestbrowserismobiledevice.html

+1

Esto no es ideal, ya que detectará las tabletas Android como móviles (y generalmente no desea que las tabletas vean una versión móvil). Las cadenas de agente de usuario parecen contener muy a menudo "tableta" cuando son tabletas, por lo que revisar esto también lo arreglará. –

1

Se puede crear un archivo en App_Browsers con una expresión regular para identificar el navegador, la siguiente es a Firefox en Android:

<browsers> 
    <!--Mozilla/5.0 (Android 5.0; Mobile; rv:44.0) Gecko/44.0 Firefox/44.0--> 
    <browser id="FirefoxMobile" parentID="firefox3plus"> 
     <identification> 
      <userAgent match="Mozilla.+\(Android.+Mobile.*\)" /> 
     </identification> 
     <capabilities> 
      <capability name="isMobileDevice" value="true" /> 
     </capabilities> 
    </browser> 
</browsers> 
Cuestiones relacionadas