前言
使用User-Agent
判断浏览器是不可靠的。因为使用控制台可以随意的伪装User-Agent
。
代码
使用各浏览器特有的属性进行检测
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
var isFirefox = typeof InstallTrigger !== 'undefined';
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification));
var isIE = false || !!document.documentMode;
var isEdge = !isIE && !!window.StyleMedia;
var isChrome = !!window.chrome && !!window.chrome.webstore;
var isBlink = (isChrome || isOpera) && !!window.CSS;
|
参考资料