Rilevamento dispositivi mobili:
semplice browser sniffing
if (/mobile/i.test(navigator.userAgent)) {...}
jQuery.browser.mobile plug-in (browser esaustivo sniffing)
prova semplice per gli eventi di tocco
if ('ontouchstart' in window) {...}
prova avanzato per gli eventi di tocco:
if (('ontouchstart' in window) || // Advanced test for touch events
(window.DocumentTouch && document instanceof DocumentTouch) ||
((hash['touch'] && hash['touch'].offsetTop) === 9)) {...}
utilizzare facoltativamente onorientationchange
per 3 # e # 4 di cui sopra.
Combina 1 o più di questi (e di qualsiasi altro approccio) secondo necessità. Nessuno di questi è infallibile.
fonte
2012-12-10 16:47:35
Non supporta la maggior parte del sistema operativo? In Windows (anche altri sistemi operativi desktop credo) è possibile modificare l'orientamento in base all'orientamento dello schermo. Alcuni usano il loro schermo 16: 9 in piedi, orientamento verticale e così via. Pertanto, non credo che sia un buon modo per distinguere tra desktop e dispositivi mobili, sfortunatamente. –
@ChristoferEliasson Anche se sono d'accordo non è il modo migliore per distinguere tra desktop e mobile, la parte importante è rilevare la funzione di modifica dell'orientamento ... che è interessante scoprire – Ian
In realtà, sembra che "onorientationchange" possa essere una proprietà di 'window' se è disponibile. Il mio browser non ce l'ha, ma sembra un evento valido: http://stackoverflow.com/questions/5284878/how-do-i-correctly-detect-orientation-change-using-javascript-and-phonegap- in-io – Ian