function returnBrowser() {
// default: unknown browser
let browser = 'xx';
// feel free to clone this from a config file
const browserTest = [
// run me first
{
k: 'ff',
r: / Firefox\//,
},
// run me before Chrome
{
k: 'op',
r: / OPR\//,
},
// run me before Chrome
{
k: 'ms',
// to catch all versions this must be Edg, not Edge
r: / Edg\//,
},
// run me after Opera and Edge but before Safari
{
k: 'cr',
r: / Chrome\//,
},
// run me after Chrome
{
k: 'sa',
r: / Safari\//,
},
];
// search for matches
browserTest.forEach((it) => {
if (window.navigator.userAgent.match(it.r)) {
// found it!
browser = it.k;
// break out of the forEach loop
browserTest.length = 0;
};
});
return browser;
}
// tests good on current versions of all browsers listed above; paste into console window to try it yourself
console.log(window.navigator.userAgent);
console.log(returnBrowser());