phát hiện thiết bị di động:
Simple trình duyệt sniffing
if (/mobile/i.test(navigator.userAgent)) {...}
jQuery.browser.mobile plug-in (trình duyệt đầy đủ sniffing)
thử nghiệm đơn giản cho các sự kiện liên lạc
if ('ontouchstart' in window) {...}
kiểm tra nâng cao cho các sự kiện liên lạc:
if (('ontouchstart' in window) || // Advanced test for touch events
(window.DocumentTouch && document instanceof DocumentTouch) ||
((hash['touch'] && hash['touch'].offsetTop) === 9)) {...}
tùy ý sử dụng onorientationchange
cho # 3 và # 4 ở trên.
Kết hợp một hoặc nhiều trong số này (và bất kỳ phương pháp tiếp cận nào khác) khi cần. Không ai trong số họ là dễ dàng.
Nguồn
2012-12-10 16:47:35
Không hỗ trợ hầu hết HĐH nào? Trong Windows (hệ điều hành máy tính để bàn khác cũng như tôi đoán) bạn có thể thay đổi định hướng tùy thuộc vào định hướng của màn hình của bạn. Một số sử dụng màn hình 16: 9 của họ trong một hướng đứng, dọc và vân vân. Vì vậy, tôi không nghĩ rằng đó sẽ là một cách tốt để phân biệt giữa máy tính để bàn và thiết bị di động, thật không may. –
@ChristoferEliasson Trong khi tôi đồng ý đó không phải là cách tốt nhất để phân biệt giữa máy tính để bàn và thiết bị di động, phần quan trọng là phát hiện tính năng thay đổi hướng ... điều thú vị là tìm ra – Ian
Thực ra, có vẻ như 'onorientationchange' có thể là tài sản của 'cửa sổ' nếu có sẵn. Trình duyệt của tôi không có, nhưng có vẻ như một sự kiện hợp lệ - http://stackoverflow.com/questions/5284878/how-do-i-correctly-detect-orientation-change-using-javascript-and-phonegap- in-io – Ian