Spécifiquement, j'essaie de détecter les utilisateurs de Windows XP car ils ne sont pas compatibles avec mon logiciel.Détecter la version de Windows avec JavaScript
Existe-t-il un moyen de détecter avec une précision d'au moins 70% ou plus?
Spécifiquement, j'essaie de détecter les utilisateurs de Windows XP car ils ne sont pas compatibles avec mon logiciel.Détecter la version de Windows avec JavaScript
Existe-t-il un moyen de détecter avec une précision d'au moins 70% ou plus?
Essayez navigator.appVersion
http://msdn.microsoft.com/en-us/library/ms533080(v=VS.85).aspx
https://developer.mozilla.org/en/DOM/window.navigator.appVersion
Je Windows 7 ici et la navigator.appVersion
retourne une chaîne contenant "NT 6.1" dans ces navigateurs: Chrome, Opera, Safari, bêta IE9.
Seulement Firefox ne renvoie pas cette information dans cette chaîne :(
BTW, est WinXP "NT 5.1", Vista est "NT 6.0" ...
Mise à jour
navigator.userAgent
renvoie la chaîne "version NT" dans les 5 navigateurs, ce qui signifie que userAgent
est la propriété pouvant indiquer la version de Windows
Il semble que vous pouvez utiliser l'objet hôte navigator
:
var os = navigator.platform
Voir ici pour plus d'informations: http://www.jguru.com/faq/view.jsp?EID=1100686
'navigator' n'est pas une classe, c'est un objet hôte qui existe dans les navigateurs ... –
Ouais, désolé. Je vais corriger mon message. –
J'ai essayé de trouver plus d'informations et j'ai trouvé ce http://www.w3schools.com/jsref/prop_nav_platform.asp qui n'est pas très bien documenté. Y a-t-il une meilleure documentation pour navigator.platform? EDIT: On dirait, selon https://developer.mozilla.org/en/DOM/window.navigator.platform, vous ne pouvez pas détecter les versions de système d'exploitation spécifiques dans Windows – reefine
La chaîne de l'agent utilisateur vous permet de connaître le numéro de version, mais pas le nom de la version. Par exemple, comme déjà mentionné ici, Windows NT 5.1 signifie XP, Windows NT 6.0 signifie Vista, etc. J'ai écrit ce composant detect-os-version qui retournera un nom de version formaté. Cela vous aidera également à détecter les versions des autres plates-formes.
Ne hésitez pas à importer et utiliser comme indiqué dans ces exemples:
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 doit contenir cette chaîne (NT 5.1) également dans Firefox. –
@ Dr.Molle Pourriez-vous le tester? Mettez 'javascript: alert (navigator.appVersion)' dans la barre d'adresse de Firefox et appuyez sur ENTER. Il se peut que mon installation de Firefox soit corrompue d'une façon ou d'une autre (parce que je cours 3.6 et 4beta en même temps) –
Mon Firefox retourne pour appVersion '5.0 (Windows; de)'. J'utilise 3.6.11 sur WinXP. 'navigator.userAgent' renvoie une chaîne contenant les informations nécessaires ** NT 5.1 ** –