Tôi muốn phát hiện bằng javascript trình duyệt android gốc (trình duyệt được cài đặt trên mọi điện thoại Android).Javascript phát hiện trình duyệt gốc android
Tôi nên tìm kiếm gì trong useragent?
Tôi muốn phát hiện bằng javascript trình duyệt android gốc (trình duyệt được cài đặt trên mọi điện thoại Android).Javascript phát hiện trình duyệt gốc android
Tôi nên tìm kiếm gì trong useragent?
Điều này sẽ hiệu quả.
var nua = navigator.userAgent;
var is_android = ((nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1) && !(nua.indexOf('Chrome') > -1));
Hãy thử một cái gì đó như thế này:
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
// Do something
}
hoặc
kiểm tra url này: http://davidwalsh.name/detect-android
trình duyệt Native, chúng tôi không thể phát hiện ở những người đầu tiên đi riêng của mình, sử dụng mã nêu trên:
var nua = navigator.userAgent;
var is_android = ((nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1) && !(nua.indexOf('Chrome') > -1));
như đối với hầu hết các thiết bị chúng tôi đã nhận sau khi tác nhân người dùng cho trình duyệt chrome:
và trong trình duyệt riêng:
Và thực hiện quan sát này cho Samsung Galaxy S3, HTC mong muốn, Asus Zenfone5.
Và phát hiện ra rằng "Chrome/30.0.0.0" hoặc "chrome /" cùng với phiên bản hiện diện cho hầu hết các devces bao gồm Zenfone 5, Samsung Galaxy s3. Nhưng "phiên bản /" không. hiện diện trong đối tượng tác nhân người dùng là quá đủ để phân biệt người gốc và Chrome.
Chúng tôi sử dụng đoạn mã sau:
var ua = navigator.userAgent;
var is_native_android = ((ua.indexOf('Mozilla/5.0') > -1 && ua.indexOf('Android ') > -1 && ua.indexOf('AppleWebKit') > -1) && (ua.indexOf('Version') > -1));
Hope, đó là hữu ích cho bạn quá ... :)
Điều này có còn áp dụng cho trình duyệt gốc của Android 5.1.1 không? Bởi vì tôi có thể nhận được như xa như 'var is_native_android = ua.indexOf (" android ")> -1 && ua.indexOf (" di động ") && ua.indexOf ('chrome')> -1' nhưng tất cả các số nhận dạng khác dường như thất bại. Có vẻ như trình duyệt gốc đang sử dụng AppleWebkit - Mozilla/5.0. – cptstarling
Điều này dường như đang hoạt động trên các trình duyệt cổ phiếu Android cũ cũng như mới hơn. – dvLden
Điều này sẽ không hoạt động trong Android 6.0.1 (ít nhất là không có trên điện thoại T-mobile S6 của Mỹ). Trình duyệt gốc hiện được dựa trên Chrome và thật khó để nói sự khác biệt. Sự khác biệt duy nhất tôi thấy là từ nhà sản xuất cụ thể (đối với tôi nó nói Samsung một vài lần). S7 của bạn tôi thậm chí không còn có trình duyệt gốc nữa, Chrome hiện giờ là trình duyệt gốc cho điện thoại đó. Nhưng điều tốt là tôi đoán nó không quan trọng nữa vì cả hai _should_ đều giống nhau – Francisc0
Một kích thước không phù hợp với tất cả. Một số điện thoại Android giả vờ là iPhone với tác nhân người dùng của iPhone. – Raptor
Tôi không hiểu "tính năng phát hiện", bạn có thể giải thích? – Razvan
[đại lý người dùng Android googling javascript] (https://www.google.com/search?q=javascript+android+user+agent) - [phát hiện tính năng googling js] (https://www.google.com/ tìm kiếm? q = js + feature + detection) – Trey