Detecting the User’s Browser
15 июля 2023 г.
Opera 8.0+
JavaScript
1const isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
Firefox 1.0+
JavaScript
1const isFirefox = typeof InstallTrigger !== 'undefined';
Safari 3.0+ "[object HTMLElementConstructor]"
JavaScript
1const isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification));
Internet Explorer 6-11
JavaScript
1const isIE = /*@cc_on!@*/false || !!document.documentMode;
Edge 20+
JavaScript
1const isEdge = !isIE && !!window.StyleMedia;
Chrome 1 - 71
JavaScript
1const isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
Blink engine detection
JavaScript
1const isBlink = (isChrome || isOpera) && !!window.CSS;
Source: https://stackoverflow.com/questions/49328382/browser-detection-in-reactjs