navigator.userAgent - назва продукту браузера.
window.navigator.userAgent;
window - не обов'язково вказувати. Об'єкт window.
navigator - об'єкт navigator.
userAgent властивість об'єкту navigator яка містить рядок з агента браузера.
Зверніть увагу що властивість 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 популярних браузерів:
Chrome | Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36 |
Chrome Android | Mozilla/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 |
iPhone | Mozilla/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 |
iPad | Mozilla/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 X | Mozilla/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 12 | Opera/12.80 (Windows NT 5.1; U; en) Presto/2.10.289 Version/12.02 |
Opera v37 Android | Mozilla/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 Android | Opera/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 Android | Mozilla/5.0 (Android 4.1.1; Mobile; rv:47.0) Gecko/47.0 Firefox/47.0 |
Internet Explorer 8 | Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0) |
UC Browser v10 Android | Mozilla/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 |
браузер Android | Mozilla/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);