2012-07-05 16 views
7

Voglio rilevare se un dispositivo mobile è un Tablet (iPad) o non in ASP.net Ho dato un'occhiata al progetto 51degrees ma la funzione per rilevare un tablet non è disponibile nel versione gratuita - e poiché distribuiamo la nostra soluzione ASP.net a 100 di clienti, non possiamo acquistare una licenza di 51 gradi per tutti loro.Rileva iPad con ASP.net

Sono disponibili alternative gratuite o open source per 51 gradi? O le versioni più recenti di MVC (4?) Forniranno maggiori informazioni in dettaglio rispetto al semplice IsMobileDevice()?

Grazie, Konrad

+0

Le versioni più recenti includeranno Modernizr. – IrishChieftain

+4

Non vincerai mai con il rilevamento del dispositivo. I nuovi dispositivi vengono introdotti troppo spesso. Utilizza invece il rilevamento delle funzioni e le query multimediali. – jrummell

risposta

4

Non è necessario a "rilevare un iPad". Basta usare Media Queries di fornire l'assistenza per l'iPad come il browser Safari che viene fornito con iPad capisce già 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) { 
    ... 
} 

La cosa migliore è quella di utilizzare HTML5Boilerplate in cui fissa alcune altre cose per iPad anche. Usa Modernizr per il rilevamento delle funzionalità; viene fornito con HTML5Boilerplate.

HTML5 Boilerplate

20 Snippets You should be using from Html5 Boilerplate

+12

Abbiamo bisogno di un rilevamento sul lato server del dispositivo mobile poiché ci spostiamo su una pagina completa diversa a seconda dello smartphone, del tablet, del desktop ... Pertanto, le media-query sono piacevoli a visualizzare lo stesso contenuto in un altro formato ma non sono adatte per la consegna completa contenuti diversi. – Konrad

+0

È possibile visualizzare facilmente diversi contenuti con CSS ed è il modo più affidabile di farlo. Attiva/disattiva la visibilità div con display: blocco e visualizzazione: nessuno. L'agente sniffing ti deluderà spesso quando ne hai più bisogno. – IrishChieftain

+0

Lo so - ma forniamo una struttura di navigazione completamente diversa per telefono e desktop. Visualizzazione di molti contenuti su una pagina per i risultati desktop in molte pagine collegate in modo diverso per i telefoni cellulari ... le query sui media sono belle ma non sono il coltellino svizzero ;-) – Konrad

10

è possibile richiedere l'agente utente e controllare per vedere se contiene 'ipad' in questo modo

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