2010-06-06 12 views
6

Sto lavorando ad alcuni rilevamenti avanzati del browser e ho scaricato il file del browser MDBF da CodePlex.Request.Browser.Platform non restituisce iPad, OSX o Windows7

Purtroppo il mio Request.Browser.Platform, insieme a poche altre cose sta tornando "Sconosciuto" sia sul mio iPad Mac OSX (Snow Leopard) e Windows7

Qualcuno sa di un buon file .Browser avanzata là fuori che fa la stessa cosa per i dispositivi non mobili come fa l'MDBF per i dispositivi mobili?

risposta

9

ho risolto il mio problema particolare (rilevamento iPad) con il seguente file nella cartella App_Browsers della mia applicazione:

<browsers> 
    <!-- Mozilla/5.0 (iPad; U; CPU OS 4_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C134 Safari/6533.18.5 --> 
    <gateway id="IPad" parentID="Safari"> 
    <identification> 
     <userAgent match="iPad" /> 
    </identification> 

    <capabilities> 
     <capability name="mobileDeviceModel"    value="IPad" /> 
     <capability name="mobileDeviceManufacturer"  value="Apple" /> 
     <capability name="isMobileDevice"     value="true" /> 
    </capabilities> 
    </gateway> 
</browsers> 

Poi nel codice I TEST:

if (Request.Browser.MobileDeviceModel == "IPad") 
    ... 
+0

Preferisco: if (Request.Browser.MobileDeviceManufacturer! = "Apple") – Softlion

1

Utilizzare invece Request.UserAgent.

Beware che include la parola Mobile così:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) 
    AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 
    Mobile/7B367 Safari/531.21.10 


da Apple sulla preparazione di contenuti per iPad:
http://developer.apple.com/safari/library/technotes/tn2010/tn2262/index.html

+5

Questo è tutto grande, ma mi piace molto usare i file '.browser'. C'è un file del browser che viene mantenuto per questo genere di cose? Pagherei per supportare un buon progetto piuttosto che per mantenere il mio o per troncare le informazioni da UserAgent. Man mano che i nuovi dispositivi vengono rilasciati, questo problema si insinuerà ancora e ancora. –

Problemi correlati