Cụ thể, tôi đang cố gắng phát hiện người dùng Windows XP vì chúng không tương thích với phần mềm của tôi.Phát hiện phiên bản Windows với JavaScript
Có cách nào để phát hiện có độ chính xác ít nhất 70% hoặc cao hơn không?
Cụ thể, tôi đang cố gắng phát hiện người dùng Windows XP vì chúng không tương thích với phần mềm của tôi.Phát hiện phiên bản Windows với JavaScript
Có cách nào để phát hiện có độ chính xác ít nhất 70% hoặc cao hơn không?
Hãy thử navigator.appVersion
http://msdn.microsoft.com/en-us/library/ms533080(v=VS.85).aspx
https://developer.mozilla.org/en/DOM/window.navigator.appVersion
Tôi có Windows 7 tại đây và navigator.appVersion
trả về một chuỗi chứa "NT 6.1" trong những trình duyệt: Chrome, Opera, Safari, IE9 beta.
Chỉ Firefox không trả lại rằng thông tin trong đó chuỗi :(
btw, WinXP là "NT 5.1", Vista là "NT 6.0" ...
Cập nhật
navigator.userAgent
trả về chuỗi "phiên bản NT" trong tất cả 5 trình duyệt. Điều đó có nghĩa là userAgent
là thuộc tính có thể cho biết phiên bản Windows.
Dường như bạn có thể sử dụng đối tượng navigator
host:
var os = navigator.platform
Xem ở đây để biết thêm: http://www.jguru.com/faq/view.jsp?EID=1100686
Ngoài ra: http://www.quirksmode.org/js/detect.html
'navigator' không phải là một lớp, nó là một đối tượng lưu trữ tồn tại trong các trình duyệt ... –
Vâng, xin lỗi. Tôi sẽ sửa bài của tôi. –
Tôi đã cố gắng tìm thêm thông tin và tôi đã tìm thấy http://www.w3schools.com/jsref/prop_nav_platform.asp này không được tài liệu hóa. Có tài liệu nào tốt hơn cho navigator.platform không? EDIT: Hình như, theo https://developer.mozilla.org/en/DOM/window.navigator.platform, bạn không thể phát hiện các phiên bản hệ điều hành cụ thể trong Windows – reefine
Chuỗi tác nhân người dùng cho phép bạn biết số phiên bản, nhưng không phải tên phiên bản. Ví dụ, như đã đề cập ở đây, Windows NT 5.1 có nghĩa là XP, Windows NT 6.0 có nghĩa là Vista, v.v. Tôi đã viết thành phần detect-os-version này sẽ trả về tên phiên bản đã định dạng. Nó cũng sẽ giúp bạn phát hiện các phiên bản nền tảng khác.
Hãy nhập nó và sử dụng như trong các ví dụ:
detectOsVersion.get() => {os: 'Windows', version: 'XP'}
detectOsVersion.get() => {os: 'BlackBerry', version: '7.1.0.346'}
detectOsVersion.get() => {os: 'Android', version: '4.2.2'}
detectOsVersion.get() => {os: 'iOS', version: '5.1.1'}
detectOsVersion.get() => {os: 'Mac', version: '10.7.1'}
navigator.userAgent nên chứa chuỗi này (NT 5.1) cũng trong Firefox. –
@ Dr.Molle Bạn có thể thử nghiệm nó không? Đặt 'javascript: alert (navigator.appVersion)' vào thanh địa chỉ của Firefox và nhấn ENTER. Nó có thể là cài đặt Firefox của tôi bị hỏng bằng cách nào đó (vì tôi đang chạy 3,6 và 4beta cùng một lúc) –
Firefox của tôi trả về cho appVersion '5.0 (Windows; de)'. Tôi đang sử dụng 3.6.11 trên WinXP. 'navigator.userAgent' trả về một chuỗi chứa thông tin cần thiết ** NT 5.1 ** –