Próbowałem użyć poniższego kodu, ale wyświetla on wyniki tylko w Chrome i Mozilli, które nie działają w IE6.
<div id="example"></div>
<script type="text/javascript">
txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt+= "<p>Browser Name: " + navigator.appName + "</p>";
txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt+= "<p>Platform: " + navigator.platform + "</p>";
txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";
document.getElementById("example").innerHTML=txt;
</script>
Wynik:
Browser CodeName: Mozilla
Browser Name: Netscape
Browser Version: 5.0 (Windows)
Cookies Enabled: true
Platform: Win32
User-agent header: Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
Muszę pobrać tylko wersję „Firefox / 12.0”.
Odpowiedzi:
Wykrywanie szczegółów przeglądarki:
Źródłowy JavaScript: nazwa przeglądarki .
Zobacz JSFiddle, aby wykryć szczegóły przeglądarki .
Wykrywanie systemu operacyjnego:
źródłowy JavaScript: wykrywanie systemu operacyjnego .
Zobacz JSFiddle, aby wykryć szczegóły systemu operacyjnego .
Pokaż fragment kodu
źródło
Z przykrością muszę powiedzieć: w tym przypadku nie mamy szczęścia.
Chciałbym skierować Cię do autora WhichBrowser : Everybody lying .
Zasadniczo żadna przeglądarka nie jest uczciwa. Bez względu na to, czy używasz przeglądarki Chrome czy IE, oba powiedzą Ci, że to „Mozilla Netscape” z obsługą Gecko i Safari. Wypróbuj sam na dowolnym skrzypcach latających w tym wątku:
skrzypce hims056
Skrzypce Hariharana
lub jakikolwiek inny ... Wypróbuj go z Chrome (który nadal może się powieść), a następnie wypróbuj z najnowszą wersją IE, a będziesz płakać. Oczywiście, istnieją heurystyki, aby wszystko było dobrze, ale zrozumienie wszystkich skrajnych przypadków będzie żmudne i najprawdopodobniej nie będą już działać za rok.
Weź swój kod, na przykład:
Chrome mówi:
IE mówi:
Przynajmniej Chrome nadal ma ciąg zawierający słowo „Chrome” z dokładnym numerem wersji. Ale w przypadku IE musisz ekstrapolować z rzeczy, które obsługuje, aby faktycznie to rozgryźć (kto inny by się pochwalił, że obsługuje
.NET
lubMedia Center
: P), a następnie porównać to zrv:
na samym końcu, aby uzyskać numer wersji. Oczywiście nawet tak wyrafinowana heurystyka może z dużym prawdopodobieństwem zawieść, gdy tylko pojawi się IE 12 (lub jakkolwiek chcą to nazwać).źródło
navigator.appName
→ developer.mozilla.org/en-US/docs/Web/API/NavigatorIDDo tego celu służy biblioteka: https://github.com/bestiejs/platform.js#readme
Wtedy możesz to wykorzystać w ten sposób
źródło
Aby wykryć system operacyjny za pomocą JavaScript, lepiej jest użyć navigator.userAgent zamiast navigator.appVersion
źródło
Skrypt PPK jest autorytetem do tego typu rzeczy, jak powiedział @Jalpesh, może to wskazać ci właściwą drogę
Zaczerpnięte z https://github.com/leopic/jquery.detectBrowser.js/blob/sans-jquery/jquery.detectBrowser.sansjQuery.js
źródło
Spróbuj tego..
sprawdź działające skrzypce ( tutaj )
źródło
Dla przeglądarek Firefox, Chrome, Opera, Internet Explorer i Safari
źródło
Nie udało mi się uzyskać niektórych innych odpowiedzi do pracy w Chrome, Firefox, IE11 i Edge z tym samym kodem. Wymyśliłem poniżej i wygląda na to, że działa w wymienionych powyżej przeglądarkach. Chciałem też zobaczyć, z jakiego systemu operacyjnego korzysta użytkownik. Nie testowałem tego w przeglądarce z ustawieniami User-Agent zastąpionymi przez użytkownika, więc przebieg może się różnić. Aby to działało, ważna jest kolejność FI.
źródło
Kod do wykrywania systemu operacyjnego użytkownika
źródło
Aby uzyskać nową przeglądarkę Microsoft Edge opartą na rdzeniu Mozilli, dodaj:
przed
źródło