浏览器检测以进行有针对性的插件安装
为了促进跨各种浏览器有针对性地安装插件,准确检测用户的浏览器至关重要浏览器。然而,仅仅依靠用户代理字符串是不够的,因为它容易被操纵。
一种可靠的方法是“鸭子打字”,它根据浏览器的特定特征来检测浏览器。这种方法更加稳健,可以按如下方式应用:
// 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;
请记住,应明智地使用浏览器检测,特别是当插件安装需要特定于浏览器的说明时。尽可能优先考虑特征检测以提高可靠性。
以上是如何可靠地检测用户的浏览器以进行有针对性的插件安装?的详细内容。更多信息请关注PHP中文网其他相关文章!