Jeśli podasz listę wszystkich window.navigator
właściwości za pomocą
console.log(navigator);
Zobaczysz coś takiego
# 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] }
Uwaga: ten oscpu
atrybut daje wersję systemu Windows. Powinieneś także wiedzieć, że:
'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)'
Zacząłem pisać skrypt do odczytu wersji systemu operacyjnego i przeglądarki, którą można przetestować na Fiddle . Zapraszam do używania i przedłużania.
źródło
źródło
Rozwiązanie @Ludwig było genialne. Kilka poprawek (które nie miały związku z systemem operacyjnym, a ja nie mogłem umieścić komentarza do jego oryginalnego posta, ponieważ jest on zbyt długi):
Tutaj są:
źródło
JavaScript ma dostęp do
window.navigator.platform
- ciągu znaków reprezentującego platformę przeglądarki: https://developer.mozilla.org/en/DOM/window.navigator.platformUżyj go, aby wyodrębnić wszystkie potrzebne informacje (i możesz). Pamiętaj, że nie ma gwarancji, że klient faktycznie korzysta z tej platformy, ponieważ można ją łatwo modyfikować na wiele sposobów.
źródło
Platform.js wydaje się dobrą biblioteką z jednym plikiem do tego.
Przykład użycia:
źródło
Za pomocą tej
javascript
funkcji można po prostu sprawdzić system operacyjny użytkownikówźródło
Nazwę i wersję systemu operacyjnego można znaleźć w
navigator
obiekcie, tak jak inni odpowiedzieli. Standardowe miejsce do wyszukiwania tych informacji znajduje się wenavigator.userAgent
właściwości przeglądarki. Jednak łańcuchy agenta użytkownika różnią się znacznie w zależności od systemu operacyjnego i przeglądarki.Stworzyłem więc skrypt, który zawiera tę logikę i raportuje o najpopularniejszych systemach operacyjnych i przeglądarkach w znany sposób, np . Http://www.whatsmybrowser.org .
Udostępniłem skrypt i przesłałem go do github, https://github.com/keithws/browser-report . Zgłoszenia pociągnięcia są mile widziane!
źródło
Utworzyłem bibliotekę do analizowania ciągów agenta użytkownika o nazwie Voodoo . Ale pamiętaj, że tak nie powinno należy tego używać zamiast wykrywania funkcji.
To, co robi Voodoo, polega na tym, że analizuje ciąg userAgent, który znajduje się w obiekcie Navigator (window.navigator). Nie wszystkie przeglądarki przekazują wiarygodny ciąg userAgent, więc nawet jeśli jest to normalny sposób, nie zawsze można ufać użytkownikowi.
źródło
I widelec kodu i usunąć @Ludwig konieczność
swfobject
.Używam tylko kodu swfobject do wykrywania wersji flash.
źródło
Użyj Detect.j.js :
źródło
Nie mogę skomentować odpowiedzi @Ian Ippolito (ponieważ zrobiłbym to, gdybym miał przedstawiciela), ale zgodnie z dokumentem, do którego skomentował ten komentarz, jestem pewien, że możesz znaleźć wersję Chrome na IOS. https://developer.chrome.com/multidevice/user-agent?hl=ja wymienia UA jako: Mozilla / 5.0 (iPhone; CPU iPhone OS 10_3 jak Mac OS X) AppleWebKit / 602.1.50 (KHTML, jak Gecko) CriOS / 56.0.2924.75 Mobile / 14E5239e Safari / 602.1
To powinno działać:
Nie byłem w stanie przetestować (inaczej poprawiłbym jego odpowiedź), aby się upewnić, ponieważ mój iPad jest w domu, a ja jestem w pracy, ale pomyślałem, że go tam opublikuję.
źródło
Hej, aby uzyskać szybkie rozwiązanie, możesz rozważyć następującą bibliotekę: UAPARSER - https://www.npmjs.com/package/ua-parser-js
przykład:
możesz także zainstalować bibliotekę za pomocą npm i zaimportować ją w następujący sposób:
biblioteka to oparty na JS analizator ciągów znaków agenta użytkownika (window.navigator.userAgent to agent użytkownika w przeglądarce), dzięki czemu można uzyskać inne szczegóły, takie jak przeglądarka, urządzenie, silniki itp. i może współpracować z węzłem js także.
jeśli potrzebujesz wpisać bibliotekę: https://www.npmjs.com/package/@types/ua-parser-js
źródło