如何检测 Safari、Chrome、IE、Firefox 和 Opera 浏览器
确定用户的浏览器对于将用户重定向到适当的插件或扩展。虽然检查用户代理字符串是一种常见方法,但由于欺骗,它可能不可靠。
为了提供更可靠的解决方案,您可以通过鸭子打字来检测浏览器。此方法利用特定于浏览器的 API 和功能,而不是依赖于用户代理字符串。仅在必要时使用此检测方法,例如特定于浏览器的安装说明。应尽可能首选功能检测。
以下是用于鸭子类型浏览器检测的 JavaScript 代码片段:
// 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;
通过利用这些浏览器特定的检查,您可以有效地将用户重定向到为各自的浏览器下载正确的插件或扩展程序。
以上是如何在 JavaScript 中可靠地检测 Safari、Chrome、Firefox、IE 和 Opera 浏览器?的详细内容。更多信息请关注PHP中文网其他相关文章!