2010-10-23 38 views

Trả lời

23

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.

+0

navigator.userAgent nên chứa chuỗi này (NT 5.1) cũng trong Firefox. –

+0

@ 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) –

+0

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 ** –

1

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

+1

'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 ... –

+0

Vâng, xin lỗi. Tôi sẽ sửa bài của tôi. –

+0

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

1

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'} 
Các vấn đề liên quan