navigator.userAgent

navigator.userAgent - назва продукту браузера.

Синтаксис:

window.navigator.userAgent;

Параметри:

window - не обов'язково вказувати. Об'єкт window.

navigator - об'єкт navigator.

Опис:

userAgent властивість об'єкту navigate яка містить рядок з агента браузера.

Зверніть увагу що властивість navigator.userAgent зазвичай лише для читання, її зміна спричинить виникнення помилки або браузер нічого не зробить:

navigator.userAgent='Mozilla/5.0 NewBrowser v0.1.1'; alert(navigator.userAgent);

Зазвичай рядок містить такий формат: "appCodeName/appVersion number (Platform; Security; OS-or-CPU; Localization; rv: revision-version-number) product/productSub Application-Name Application-Name-version".

UserAgent популярних браузерів:

ChromeMozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36
Chrome AndroidMozilla/5.0 (Linux; Android 4.1.1; PAP4055DUO Build/JRO03C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36
iPhoneMozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25
iPadMozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25
Safari Mac OS XMozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/9.3.2 Safari/537.75.14
Opera 12Opera/12.80 (Windows NT 5.1; U; en) Presto/2.10.289 Version/12.02
Opera v37 AndroidMozilla/5.0 (Linux; Android 4.1.1; PAP4055DUO Build/JRO03C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Mobile Safari/537.36 OPR/37.0.2192.105088
Opera Mini v18 AndroidOpera/9.80 (Android; Opera Mini/18.0.2254/37.8861; U; uk) Presto/2.12.423 Version/12.16
Firefox 3.5.6 у Windows 7 Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6
Firefox 47 AndroidMozilla/5.0 (Android 4.1.1; Mobile; rv:47.0) Gecko/47.0 Firefox/47.0
Internet Explorer 8Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)
UC Browser v10 AndroidMozilla/5.0 (Linux; U; Android 4.1.1; en-US; PAP4055DUO Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/10.10.5.809 U3/0.8.0 Mobile Safari/534.30
браузер AndroidMozilla/5.0 (Linux; U; Android 4.1.1; uk-ua; PAP4055DUO Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30

Приклад:

alert( navigator.userAgent );

Приклад функції яка перевіряє чи користувач зайшов на сайт з мобільного браузера:

function isMobile(){if (navigator.userAgent.match(/Android|Mobile|IEMobile|Opera Mini|iPhone|iPad|iPod/i)==null)return false; else return true;} alert('мобільний браузер: '+isMobile());

Приклад заміни UserAgent у JavaScript методом створення нового об'єкту navigator. Не у всіх браузерах працює:

function setUserAgent(userAgents) { var newNavigator = {}, property; for (property in navigator) { newNavigator[ property ] = ( property != "userAgent") ? navigator[ property ] : newNavigator[ property ] = userAgents; } navigator = newNavigator; } setUserAgent("Mozilla/5.0 NewBrowser v0.1.1"); alert(navigator.userAgent);

"Заміна" UserAgent поверненням іншого значення за допомогою Object.__defineGetter__. Зверніть увагу що navigator.userAgent не змінюється, лише при звернені до властивості виконується функція яка повертає вказане значення:

function setUserAgent(userAgents) { navigator.__defineGetter__('userAgent', function(){return userAgents;}); } setUserAgent("Mozilla/5.0 NewBrowser v0.1.1"); alert(navigator.userAgent);