He estado escribiendo un userscript durante los últimos meses, para mi empresa, y acabo de diseñar el sitio principal con instrucciones de instalación (nuestros empleados tienen su sede en todo el mundo y muy pocos han oído hablar de los usuarios, y mucho menos los han utilizado, por lo que este frontend tiene el objetivo de reducir el tiempo que paso apoyando el script).jQuery - detectando el sistema operativo y la versión del sistema operativo
Lo que me gustaría hacer es, en la página de instalación, detectar qué navegador y la versión de OS/OS están usando para que pueda resaltar las instrucciones más relevantes ligeramente más oscuras que el resto, o simplemente no mostrar secciones irrelevantes .
Por ejemplo, para IE6 debe usar Trixie (creo) para instalar los archivos de usuario, y esto solo se admite en Win XP. IE7 es compatible con Win XP, IE8 es compatible con Win XP & Win 7 e IE9 solo es compatible con Win 7. Para IE7, 8 & 9 Aconsejo usar IEPro. La diferencia entre Trixie & IEPro es que Trixie requiere una extensión de archivo de .user.js que debe guardarse en C:/Archivos de programa/bhelpuri. IEPro, por otro lado, requiere que la extensión sea .ieuser y se guarde en una ubicación diferente. Para IE específicamente, me gustaría detectar la versión y mostrar solo el enlace correcto (ya sea .user.js o .ieuser, dependiendo de qué plugin deben usar para su navegador actual) para que se lleven a la versión correcta del archivo para ese navegador con la ruta de guardado correcta para esa versión de OS/OS. ¿Esto tiene algún sentido hasta ahora?
Básicamente mi pregunta es, ¿alguien sabe de una forma de detectar la versión del sistema operativo? Actualmente estoy usando http://www.stoimen.com/blog/2009/07/04/jquery-os-detection/, pero eso no da la versión del sistema operativo, solo el sistema operativo. He intentado recorrer todas las variables almacenadas en el objeto navegador sin éxito. Cualquier ayuda sería muy apreciada.
Editar: Gracias a la respuesta de Nates, he puesto el código exacto en http://jsfiddle.net/Mu8r5/1/. Espero que esto ayude a alguien en el futuro.
Gracias por el fragmento: ¡parece un gran punto de partida! Voy a publicar un jsfiddle dentro de mi pregunta más adelante cuando lo finalice. – ClarkeyBoy