2012-07-05 12 views
7

Quiero detectar si un dispositivo móvil es una tableta (iPad) o no en ASP.net He echado un vistazo al proyecto de 51 grados, pero la función para detectar una tableta no está disponible en el versión gratuita, y como distribuimos nuestra solución ASP.net a cientos de clientes, no podemos comprar una licencia de 51 grados para todos ellos.Detectar iPad con ASP.net

¿Hay alguna alternativa de código abierto o gratuita disponible para 51degrees? ¿O las versiones más nuevas de MVC (4?) Proporcionarán más información en detalle que el simple IsMobileDevice()?

Gracias, Konrad

+0

Las versiones más nuevas incluirán Modernizr. – IrishChieftain

+4

Nunca ganará con la detección del dispositivo. Los nuevos dispositivos se introducen con demasiada frecuencia. Use detección de características y consultas de medios en su lugar. – jrummell

Respuesta

0

Ahora el usuario del antiguo navegador de dispositivos móviles del archivo: http://mdbf.codeplex.com/

y extenderlo con nuestro propio archivo del navegador como se describía en esta solución: http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx

Ahora podemos incluso definir parámetros propios para detectar, por ejemplo, el modo de compatibilidad de Internet Explorer o definir un iPad como un dispositivo no móvil.

4

No es necesario "detectar un iPad". Sólo tiene que utilizar preguntas de los medios para darle apoyo para el IPAD como el navegador Safari que viene con el iPad ya entiende CSS3:

CSS3 Media Queries

/* iPads (landscape) */ 
@media screen and (min-device-width : 768px) 
    and (max-device-width : 1024px) and (orientation : landscape) { 
    ... 
} 
/* iPads (portrait) */ 
@media screen and (min-device-width : 768px) and (max-device-width : 1024px) 
    and (orientation : portrait) { 
    ... 
} 

Su mejor opción es utilizar HTML5Boilerplate que fija algunas otras cosas para iPad además. Use Modernizr para la detección de características; viene con HTML5Boilerplate.

HTML5 Boilerplate

20 Snippets You should be using from Html5 Boilerplate

+12

Necesitamos una detección en el lado del servidor del dispositivo móvil ya que nos dirigimos a una página completamente diferente dependiendo del teléfono inteligente, tableta, escritorio ... Por lo tanto, las consultas de medios son agradables para mostrar el mismo contenido en otro formato pero no para entregar completar contenido diferente. – Konrad

+0

Puede visualizar fácilmente diferentes contenidos con CSS y es la manera más confiable de hacerlo. Alternar visibilidad div con visualización: bloquear y visualizar: ninguno. El rastreo de agentes a menudo lo decepcionará cuando más lo necesite. – IrishChieftain

+0

Lo sé, pero ofrecemos una estructura de navegación totalmente diferente para teléfonos y computadoras de escritorio. Mostrando muchos contenidos en una página para resultados de escritorio en muchas páginas conectadas de forma diferente para teléfonos móviles ... las consultas en los medios son buenas pero no son la navaja suiza ;-) – Konrad

10

Puede solicitar al agente de usuario y comprobar para ver si contiene 'ipad' al igual que

bool isIpad = Request.UserAgent.ToLower().Contains("ipad"); 
Cuestiones relacionadas