2010-10-23 10 views

Respuesta

23

Trate navigator.appVersion

http://msdn.microsoft.com/en-us/library/ms533080(v=VS.85).aspx
https://developer.mozilla.org/en/DOM/window.navigator.appVersion

Tengo Windows 7 aquí y el navigator.appVersion devuelve una cadena que contiene "NT 6.1" en estos navegadores: Chrome, Opera, Safari, IE9 beta.

Sólo Firefox no devuelve esa información en esa cadena :(

por cierto, WinXP es "NT 5.1", Vista es "NT 6.0" ...

actualización

navigator.userAgent devuelve la cadena "NT versión" en los 5 navegadores. Eso significa que userAgent es la propiedad que puede indicar la versión de Windows.

+0

navigator.userAgent debe contener esta cadena (NT 5.1) también en Firefox. –

+0

@ Dr. Molol ¿Podrías probarlo? Coloque 'javascript: alert (navigator.appVersion)' en la barra de direcciones de Firefox y presione ENTER. Podría ser que mi instalación de Firefox está dañada de alguna manera (porque estoy ejecutando 3.6 y 4 Beta al mismo tiempo) –

+0

My Firefox regresa para appVersion '5.0 (Windows; de)'. Estoy usando 3.6.11 en WinXP. 'navigator.userAgent' devuelve una cadena que contiene la información necesaria ** NT 5.1 ** –

1

parece que usted puede utilizar el objeto navigator anfitrión:

var os = navigator.platform 

Ver aquí para más información: http://www.jguru.com/faq/view.jsp?EID=1100686

también: http://www.quirksmode.org/js/detect.html

+1

'navigator' no es una clase, es un objeto host que existe en los navegadores ... –

+0

Sí, lo siento. Corregiré mi publicación. –

+0

Intenté encontrar más información y encontré este http://www.w3schools.com/jsref/prop_nav_platform.asp que no está muy bien documentado. ¿Hay mejor documentación para navigator.platform? EDITAR: Parece que, de acuerdo con https://developer.mozilla.org/en/DOM/window.navigator.platform, no se pueden detectar versiones específicas del sistema operativo en Windows – reefine

1

La cadena de agente de usuario le permite conocer el número de versión, pero no el nombre de la versión. Por ejemplo, como ya se mencionó aquí, Windows NT 5.1 significa XP, Windows NT 6.0 significa Vista, etc. Escribí este componente detect-os-version que devolverá un nombre de versión formateado. También lo ayudará a detectar las versiones de otras plataformas.

dude en importar y utilizar como se muestra en estos ejemplos:

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'} 
Cuestiones relacionadas