Визначаємо браузер
Основним методом визначення браузера є User Agent, який доступний у властивості navigator.userAgent.
Зверніть увагу що визначення браузера по User Agent не є 100%, так як деякі браузери відають себе за інших браузерів.
function browser(){
function isAgent(agent){
return navigator.userAgent.toLowerCase().indexOf(agent.toLowerCase())>-1;
}
switch(true){
case isAgent('MiuiBrowser'):
return 'MiUi Browser';
break;
case isAgent('Avant Browser'):
return 'Avant Browser';
break;
case isAgent('Lunascape'):
return 'Lunascape';
break;
case isAgent('Flock'):
return 'Flock';
break;
case isAgent('Puffin'):
return 'Puffin';
break;
case isAgent('UCBrowser'):
return 'UC Browser';
break;
case isAgent('IceDragon'):
case isAgent('Comodo_Dragon'):
return 'Comodo Dragon';
break;
case isAgent('Maxthon'):
return 'Maxthon';
break;
case isAgent('Konqueror'):
return 'Konqueror';
break;
case isAgent('Iron'):
return 'SRWare Iron';
break;
case isAgent('Dolphin'):
return 'Dolphin';
break;
case isAgent('MSIE'):
return 'Interner Explorer';
break;
case isAgent('Edge'):
return 'Microsoft Edge';
break;
case isAgent('OPR'):
case isAgent('Opera'):
return 'Opera';
break;
case isAgent('Firefox'):
return 'Firefox';
break;
case isAgent('Chromium'):
return 'Chromium';
break;
case isAgent('Chrome'):
return 'Chrome';
break;
case isAgent('Safari'):
return 'Safari';
break;
default:
return 'не відомий';
break;
}
}
alert('Ваш браузер: '+browser());
Визначаємо назву браузера і версію методом парсингу User Agent.
Функція browser повертає об'єкт який містить властивість: browser - рядок з назвою браузера, version - рядок з номером версії браузера і метод: toString - повертає рядок з назвою браузера і версією.
function browser(){
var res={browser:'',version:'',toString:function(){return this.browser+' '+this.version}};
var mas=[
{ua:['MiuiBrowser'],name:'MiUi Browser'},
{ua:['Avant Browser'],name:'Avant Browser'},
{ua:['Lunascape'],name:'Lunascape'},
{ua:['Flock'],name:'Flock'},
{ua:['Puffin'],name:'Puffin'},
{ua:['UCBrowser'],name:'UC Browser'},
{ua:['IceDragon','Comodo_Dragon'],name:'Comodo Dragon'},
{ua:['Maxthon'],name:'Maxthon'},
{ua:['MSIE'],name:'Interner Explorer'},
{ua:['Konqueror'],name:'Konqueror'},
{ua:['Iron'], name:'SRWare Iron'},
{ua:['Dolphin'],name:'Dolphin'},
{ua:['Edge'],name:'Microsoft Edge'},
{ua:['OPR','Opera'],name:'Opera'},
{ua:['Firefox'],name:'Firefox'},
{ua:['Chromium'],name:'Chromium'},
{ua:['Chrome'],name:'Chrome'},
{ua:['Safari'],name:'Safari'}];
var ua=navigator.userAgent;
res.isMobi=ua.match(/Android|Mobile|IEMobile|Opera Mini|iPhone|iPad|iPod/i)!=null;
for(var i=0,p,p2;i<mas.length;i++)
for(var j=0;j<mas[i].ua.length;j++){
p=ua.indexOf(mas[i].ua[j]);
if(p>-1){
p2=ua.indexOf('Version');
if(p2>p)p=p2;
res.version=ua.substr(p).match(/[0-9,\.]+/g)[0];
res.browser=mas[i].name;
return res;
}
}
return res;
}
alert( browser() );
ОС користувача:
У User Agent також міститься інформація про ОС (Операційну систему) користувача.
Визначаємо ОС користувача за допомогою UserAgent:
function os(){
var ua=navigator.userAgent;
var mas=[{os:['Android'], name:'Android'},
{os:['Windows Phone','Windows Mobile'], name:'Windows Phone'},
{os:['iPhone','iPad','iPod'], name:'iOS'},
{os:['Symbian','SymbOS'],name:'Symbian'},
{os:['Mac OS','Macintosh'],name:'Mac OS'},
{os:['CrOS'],name:'ChromeOS'},
{os:['Linux','X11'],name:'Linux'},
{os:['Windows'],name:'Windows'}];
for(i=0;i<mas.length;i++)
for(j=0;j<mas[i].os.length;j++){
if(ua.indexOf(mas[i].os[j])>-1)return mas[i].name;
}
}
alert('Ваша ОС: '+os() );
Визначаємо чи є браузер мобільний чи десктопний:
function isMobile(){if (navigator.userAgent.match(/Android|Mobile|Phone|IEMobile|Opera Mini|iPhone|iPad|iPod/i)==null)return false; else return true;}
alert('мобільний браузер: '+isMobile());
Визначаємо двигун (рушій) браузера
- Існують такі браузерні двигуни (рушії):
- Trident - двигун браузерний від Microsoft. Використовується у браузерах: Internet Explorer, Avant Browser, Lunascape.
- Gecko - двигун від Mozilla, використовується в браузері: Firefox, Waterfox, Pale Moon.
- KHTML - двигун браузерний розроблений в проекті KDE, використовується в браузері Konqueror і був основою для WebKit.
- WebKit - браузерний двигун який використовується у: Apple Safari, Google Chrome, Comodo Dragon та інших.
- Presto - браузерний двигун від Opera Software, використовався у браузера Opera до переходу на Blink.
- Blink - браузерний двигун від Google, форк WebKit (створений на основі WebKit). Використовується у браузерах, Chrome з 28 версії, Opera 15 та інших.
- Edge - новий браузерний двигун Microsoft для браузера Microsoft Edge.
function engine(){
var ua=navigator.userAgent.toLowerCase();
switch(true){
case ua.indexOf('presto')>-1:
return 'Presto';
break;
case ua.indexOf('edge'):
return 'Edge';
break;
case ua.indexOf('msie')>-1:
case ua.indexOf('trident')>-1:
return 'Trident';
break;
case ua.indexOf('webkit')>-1:
return 'WebKit';
break;
case ua.indexOf('khtml')>-1:
return 'KHTML';
break;
case ua.indexOf('gecko')>-1:
return 'Gecko';
break;
default:
return 'не відомо';
break;
}
}
alert( engine() );
Визначаємо двигун браузера за допомогою перевірки наявності певних властивостей в style і window:
function engine(){
var style=document.documentElement.style, vendor;
switch(true){
case 'msTextSizeAdjust' in style && !('msFlex' in style):
return 'Edge';
break;
case 'msScrollLimit' in style:
return 'Trident';
break;
case 'OLink' in style:
case 'opera' in window:
return 'Presto';
break;
case 'webkitAppearance' in style:
case 'webkitStorageInfo' in window:
return 'WebKit';
break;
case 'KhtmlUserInput' in style:
return 'KHTML';
break;
case 'MozAppearance' in style:
return 'Gecko';
break;
}
}
alert( engine() );