tôi đang cố gắng để phát hiện nếu người dùng kết thúc trùng với một chiếc điện thoại, một viên thuốc hoặc một pcPhát hiện điện thoại/tablet/web của khách hàng sử dụng javascript
Tôi đã được Googling cho một thời gian, dường như không có giải pháp dễ dàng.
Tôi đoán tôi không nên sử dụng Độ phân giải, vì ngày nay một số máy tính bảng có độ phân giải tuyệt vời.
Tôi không nên dựa vào định hướng, vì máy tính xách tay windows8 chỉ có thể xoay như máy tính bảng. (và thiết kế đáp ứng quá khó cho dự án hiện tại của tôi)
Tôi đã cố gắng sử dụng UserAgent (nó cũng có nhược điểm), nhưng không thể làm việc, dưới đây là sự kết hợp của các phiên bản khác nhau trực tuyến mà tôi đang sử dụng để phân biệt điện thoại/tablet từ máy tính, họ chỉ cần không làm việc và tôi không có ý tưởng tại sao
var agents = ['android', 'webos', 'iphone', 'ipad', 'blackberry','iemobile','phone','mobile'];
for(i in agents) {
if(navigator.userAgent.toLowerCase().match('/'+agents[i]+'/i')) {
return true;
}
}
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {
return true;
}
if(navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPad/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)
|| navigator.userAgent.match(/bada/i)
|| navigator.userAgent.match(/Bada/i)
){
return true;
}
Chúng giống nhau và nên hoạt động. Ý bạn là họ không làm việc? UserAgent là gì? –
Làm thế nào để chúng 'không hoạt động'? – KevinDTimm
Tại sao bạn cần quyết định cho máy tính bảng/điện thoại/máy tính? Nó không giống như bạn nên thêm một điều khiển nếu bạn _suspect_ người đó không có một bàn phím vật lý (Asus Transformer là gì, sau khi tất cả?) –