2008-08-16 23 views
6

He incluido un formulario web móvil en mi proyecto asp.net, pensé que podría/debería verse solo para mis usuarios de dispositivos móviles, pero me doy cuenta de que también se puede ver desde cualquier navegador, no veo ningún problema porque podría diferir el acceso utilizando HttpBrowserCapabilities.IsMobileDevice = true y transfiriéndolo a la página aspx adecuada, pero resulta que cuando accedo al formulario web desde mi dispositivo móvil, se lo identifica como dispositivo IsMobile. = falso y me envía a otra página.El dispositivo móvil se detecta como dispositivo no móvil

¿Cómo es posible?

El dispositivo móvil se ejecuta Pocket PC 2003.

Respuesta

2

Algunos no son reconocidos, debido a que el agente de usuario se ha metido con o está siendo utilizado un nuevo navegador. Como Opera Mobile 9.5. Para solucionar esto, necesita crear un archivo de navegador (* .browser) específicamente para definir esto. Tenía que hacerlo para el nuevo UserAgent basado en Mozilla que se envía desde Google.

4

mi humilde opinión: El valor de HttpContext.Current.Request.Headers("User-Agent") es una apuesta mucho más segura ya que en realidad indica al navegador que está realizando la petición, y no el tipo de dispositivo per se.

He aprendido por experiencia que si un teléfono inteligente realiza una solicitud a través de un navegador de terceros a su servicio, más a menudo que ningún tipo de "qué tipo de dispositivo es usted" prueba (HttpCapabilitiesBase.IsMobileDevice y/o HttpContext.Current.Request.Browser.IsMobileDevice) fallará.

Desafortunadamente, a excepción de una gran lista de agentes de usuario permitidos (o agentes de usuario no permitidos para el caso), solo tendrá que asegurarse de que no se inicie con Mozilla, iPhone u Opera antes de renderizar la página ...

Es un campo difícil de jugar.
Buena suerte.

1

Creo que debería utilizar otro DDR mejor que las capacidades del navegador de Microsoft. Estoy usando http://wurfl.sourceforge.net> WURFL, es de código abierto y tal vez esté más extendido y actualizado. Hay otros DDR comerciales como DeviceAtlas.

Hay muchas bibliotecas .net pero estoy usando Marg.Wurfl. Permite renderizar la página web móvil usando las capacidades de wurfl.

Cuestiones relacionadas