Se você listar todas window.navigator
as propriedades usando
console.log(navigator);
Você verá algo assim
# platform = Win32
# appCodeName = Mozilla
# appName = Netscape
# appVersion = 5.0 (Windows; en-US)
# language = en-US
# mimeTypes = [object MimeTypeArray]
# oscpu = Windows NT 5.1
# vendor = Firefox
# vendorSub = 1.0.7
# product = Gecko
# productSub = 20050915
# plugins = [object PluginArray]
# securityPolicy =
# userAgent = Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7
# cookieEnabled = true
# javaEnabled = function javaEnabled() { [native code] }
# taintEnabled = function taintEnabled() { [native code] }
# preference = function preference() { [native code] }
Observe que o oscpu
atributo fornece a versão do Windows. Além disso, você deve saber que:
'Windows 3.11' => 'Win16',
'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
'Windows 98' => '(Windows 98)|(Win98)',
'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
'Windows Server 2003' => '(Windows NT 5.2)',
'Windows Vista' => '(Windows NT 6.0)',
'Windows 7' => '(Windows NT 6.1)',
'Windows 8' => '(Windows NT 6.2)|(WOW64)',
'Windows 10' => '(Windows 10.0)|(Windows NT 10.0)',
'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
'Windows ME' => 'Windows ME',
'Open BSD' => 'OpenBSD',
'Sun OS' => 'SunOS',
'Linux' => '(Linux)|(X11)',
'Mac OS' => '(Mac_PowerPC)|(Macintosh)',
'QNX' => 'QNX',
'BeOS' => 'BeOS',
'OS/2' => 'OS/2',
'Search Bot'=>'(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)'
Comecei a escrever um script para ler a versão do SO e do navegador que pode ser testada no Fiddle . Sinta-se livre para usar e estender.
fonte
fonte
A solução da @Ludwig foi brilhante. Algumas correções (que não tinham a ver com sistema operacional, e eu não pude colocar como comentário em sua postagem original, porque isso é muito longo):
Aqui estão eles:
fonte
O JavaScript tem acesso à
window.navigator.platform
- uma sequência que representa a plataforma do navegador: https://developer.mozilla.org/en/DOM/window.navigator.platformUse-o para extrair todos os detalhes que você precisa (e pode). Observe que não há garantias de que o cliente realmente use essa plataforma, pois isso pode ser facilmente modificado de várias maneiras.
fonte
platform.js parece ser uma boa biblioteca de arquivos para fazer isso.
Exemplo de uso:
fonte
Você pode usar esta
javascript
função para verificar o sistema operacional dos usuários simplesmentefonte
Você pode encontrar o nome e a versão do SO no
navigator
objeto, como outros responderam. O local padrão em vários navegadores para encontrar essas informações está nanavigator.userAgent
propriedade No entanto, as seqüências de agentes do usuário variam muito de sistema operacional e navegador.Então, criei um script para encapsular essa lógica e relatar os sistemas operacionais e navegadores mais comuns de uma maneira familiar, como http://www.whatsmybrowser.org .
Abri o código-fonte e o carreguei no github, https://github.com/keithws/browser-report . Solicitações pull são bem-vindas!
fonte
Eu criei uma biblioteca para analisar seqüências de caracteres do User Agent chamada Voodoo . Mas lembre-se de que isso não deve ser usado em vez da detecção de recurso.
O que o Voodoo faz é que ele analisa a string userAgent, encontrada no objeto Navigator (window.navigator). Nem todos os navegadores transmitem uma string userAgent confiável; portanto, mesmo sendo a maneira normal de fazer isso, o userAgent nem sempre pode ser confiável.
fonte
Eu bifurcar código @Ludwig e necessidade de remoção de
swfobject
.Eu apenas uso o código swfobject para detectar a versão em flash.
fonte
Use detectOS.js :
fonte
Não posso comentar a resposta de @Ian Ippolito (porque eu teria se tivesse o representante), mas de acordo com o documento vinculado ao comentário, tenho certeza de que você pode encontrar a versão do Chrome para o IOS. https://developer.chrome.com/multidevice/user-agent?hl=ja lista o UA como: Mozilla / 5.0 (iPhone; CPU iPhone OS 10_3 como Mac OS X) AppleWebKit / 602.1.50 (KHTML, como Gecko) CriOS / 56.0.2924.75 Mobile / 14E5239e Safari / 602.1
Portanto, isso deve funcionar:
Não foi possível testá-lo (caso contrário, eu teria melhorado a resposta dele) para garantir que o iPad está em casa e estou no trabalho, mas pensei em colocá-lo lá.
fonte
Para uma solução rápida, considere a seguinte biblioteca: UAPARSER - https://www.npmjs.com/package/ua-parser-js
exemplo:
você também pode instalar a biblioteca via npm e importá-la da seguinte maneira:
a biblioteca é um analisador de cadeia de caracteres do agente do usuário baseado em JS (window.navigator.userAgent é o agente do usuário no navegador), para que você possa obter outros detalhes também, como Navegador, dispositivo, mecanismos etc. e pode trabalhar com o nó js também.
se você precisar digitar para a biblioteca: https://www.npmjs.com/package/@types/ua-parser-js
fonte