Home >Web Front-end >JS Tutorial >How Can I Reliably Detect Safari, Chrome, Firefox, IE, and Opera Browsers in JavaScript?
How to Detect Safari, Chrome, IE, Firefox, and Opera Browsers
Determining the user's browser can be crucial for redirecting them to the appropriate addon or extension. While checking the user agent string is a common approach, it can be unreliable due to spoofing.
To provide a more robust solution, you can detect browsers by duck-typing. This method utilizes browser-specific APIs and features rather than relying on the user agent string. Only use this detection method when necessary, such as for browser-specific installation instructions. Feature detection should be preferred whenever possible.
Here's a JavaScript code snippet for duck-typing browser detection:
// Opera 8.0+ var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0; // Firefox 1.0+ var isFirefox = typeof InstallTrigger !== 'undefined'; // Safari 3.0+ "[object HTMLElementConstructor]" var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && window['safari'].pushNotification)); // Internet Explorer 6-11 var isIE = /*@cc_on!@*/false || !!document.documentMode; // Edge 20+ var isEdge = !isIE && !!window.StyleMedia; // Chrome 1 - 79 var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime); // Edge (based on chromium) detection var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1); // Blink engine detection var isBlink = (isChrome || isOpera) && !!window.CSS;
By utilizing these browser-specific checks, you can effectively redirect users to the correct addon or extension download for their respective browsers.
The above is the detailed content of How Can I Reliably Detect Safari, Chrome, Firefox, IE, and Opera Browsers in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!