Jump to content

Определение браузера на JS.


Recommended Posts

Как определить браузер на js?

В JS есть такой обьект, под названием navigator.

Наименование браузера:

Как показано на странице описания обьекта navigator, наименование браузера можно выдернуть так:

let sBrowser, sUsrAg = navigator.userAgent;

if (sUsrAg.indexOf("Firefox") > -1) {
     sBrowser = "Mozilla Firefox";     //"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0"
}

else if (sUsrAg.indexOf("Opera") > -1) {
     sBrowser = "Opera";
}

else if (sUsrAg.indexOf("Trident") > -1) {
     sBrowser = "Microsoft Internet Explorer";    //"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Zoom 3.6.0; wbx 1.0.0; rv:11.0) like Gecko"
}

else if (sUsrAg.indexOf("Edge") > -1 || sUsrAg.indexOf("Edg") > -1) {
//повторяется с Edg, а не Edge, так как в самом Edge браузере при выполнении navigator.userAgent выводится Edg, по крайней мере в Edg/85.0.564.44
     sBrowser = "Microsoft Edge";    //"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"

//Каждый раз с Microsoft какая нибудь хуйня. И тут умудрились накосячить, нельзя же сделать чтобы везде было Edge, нет же! это не в их правилах!

image.png.3d186c28e28aa2ba4050e3e5a2cf8836.png
}

else if (sUsrAg.indexOf("Chrome") > -1) {
    sBrowser = "Google Chrome or Chromium";    //"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/66.0.3359.181 Chrome/66.0.3359.181 Safari/537.36"
}

else if (sUsrAg.indexOf("Safari") > -1) {
    sBrowser = "Apple Safari";    //"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1 980x1306"
}

else {
    sBrowser = "unknown";
}

console.log("You are using: " + sBrowser);

 

Для выбора версии:

var sUsrAg = navigator.userAgent;
//sUsrAg отдаёт: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"

let brauser = sUsrAg.match(/Edg[\/e\d\.]{1,}/)[0]; //"Edge/16.16299"

let versionBrauser = brauser.match(/[\d\.]{1,}/)[0]; //16.16299

versionBrauser.match(/[\d]{1,}/)[0]; //"16"

 

Итого мы выбрали мажорную версию браузеру.

 

 

  • Like 1
Link to post
Share on other sites
  • Dr.kartg changed the title to Определение браузера на JS.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...