2015-01-22 25 views
10

Có cách nào để phân biệt thiết bị di động thực sự với thiết bị do Google Chrome mô phỏng không? Xin lưu ý rằng Google Chrome có thể mô phỏng Useragent, màn hình cảm ứng, độ phân giải màn hình và gia tốc kế. Tôi cần biết một số tính năng không thể mô phỏng nhưng có thể được phát hiện bằng javascript.Cách phát hiện xem thiết bị di động có được Google Chrome mô phỏng không?

+1

Tại sao bạn muốn một cái gì đó như thế này? (Chỉ tò mò) –

+0

tính năng nào bạn muốn truy cập không thể mô phỏng? – JeanLuc

+0

bạn đã kiểm tra thuộc tính "window.navigator" chưa. – techierishi

Trả lời

4

Có thể kiểm tra navigator.plugins.length. Trình duyệt di động không có plugin, do đó navigator.plugins.length bằng 0; Trình duyệt trên máy tính để bàn thông thường có các plugin, vì vậy chúng tôi có thể phân biệt các trình duyệt theo độ dài của mảng plugin.

+8

Tôi muốn nói rằng chúng tôi cũng có thể sử dụng thuộc tính navigator.platform. –

+3

Điều này không còn hoạt động. 'navigator.plugins.length === 0' trên Chrome khi nó mô phỏng iOS. –

+0

var isSmartDevice = /* di động nếu Android hoặc iOS và không được mô phỏng trong mac hoặc giành chiến thắng pc (cho dev) \ */ (navigator.userAgent.match (/ (android | ip (trau | ad | od))/i) && (! navigator.platform ||! navigator.platform.match (/ (win | mac)/i))) /* hoặc nếu cửa sổ điện thoại hoặc blackberry (không phát trong cửa sổ) */ || navigator.userAgent.match (/ (windows phone | iemobile | wpdesktop | blackberry)/i); – ekerner

Các vấn đề liên quan