2010-10-17 8 views
6

Per il mio sito devo essere in grado di distinguere tra quando visita un tablet Android e quando visita un telefono Android. Deve essere rilevato prima che la pagina venga inviata all'utente, quindi l'uso di JavaScript per controllare lo schermo non è un'opzione.Come posso rilevare i telefoni Android e i tablet Android in modo diverso utilizzando l'intestazione dell'agente utente?

Al momento io uso questo per rilevare un dispositivo Android: stripos ($ ua, 'Android')

C'è qualcosa Thar unica una tavoletta ha nel suo user agent?

+1

Se si codifica la pagina utilizzando HTML semantico e CSS, non è necessario rilevare il tipo di dispositivo prima di inviare la pagina. –

risposta

0

Verificare il progetto WURFL. Dovrebbe essere in grado di aiutarti non solo nello scenario Android Phone e Tablet Android, ma anche in altri dispositivi.

5

È possibile utilizzare $ _SERVER [ 'HTTP_USER_AGENT'] funziona quindi eregi case-insensitive di PHP per cercare la seguente, che assume lo sviluppatore del browser ha seguito le linee guida di Android su specifica user agent:

$ua = $_SERVER['HTTP_USER_AGENT']; 
if (eregi('Android', $ua) && eregi('Mobile', $ua)) $platform = "Android Phone"; 
elseif (eregi('Android', $ua) && !eregi('Mobile', $ua)) $platform = "Android Tablet"; 

non è infallibile ma è un inizio.

-2
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPod') || strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPad') || strstr($_SERVER['HTTP_USER_AGENT'],'Android')){ 
    //do something... 
} 

ha funzionato per me

0

@Patrick Kershner, il codice funziona solo per la famiglia di prodotti Apple. Ogni dispositivo Apple invia la propria UA, ma non è questo il caso dei dispositivi Android. In effetti, l'autore di questo post deve sapere se il dispositivo Android è un tablet o un telefono senza utilizzare Javascript. Il codice inviato dall'utente user336828 rappresenta un'ottima soluzione per questo, sebbene non sia affidabile al 100%: alcuni dispositivi clone/white-label/di bassa qualità possono inviare esattamente la stessa stringa UA da tablet e telefoni, ma penso che questo dovrebbe funzionare con dispositivi del marchio conosciuto. Ho appena testato quel codice sia su un telefono Android che su un tablet e funziona.

+0

Potresti rendere più chiara questa risposta? –

Problemi correlati