判斷瀏覽器內核
// 判斷瀏覽器內核 browserKernel() { var u = navigator.userAgent, app = navigator.appVersion return { trident: u.indexOf('Trident') > -1, //IE內核 presto: u.indexOf('Presto') > -1, //opera內核 webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內核 mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動終端 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端 android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android終端 iPhone: u.indexOf('iPhone') > -1, //是否為iPhone或者QQHD瀏覽器 iPad: u.indexOf('iPad') > -1, //是否iPad webApp: u.indexOf('Safari') == -1, //是否web應該程序,沒有頭部與底部 weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增) qq: u.match(/\sQQ/i) == ' qq' //是否QQ } }
判斷瀏覽器
browser() { // 取得瀏覽器的userAgent字符串 var userAgent = navigator.userAgent // 判斷是否Opera瀏覽器 var isOpera = userAgent.indexOf('Opera') > -1 // 判斷是否IE瀏覽器 var isIE = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1 && !isOpera // 判斷是否IE的Edge瀏覽器 var isEdge = userAgent.indexOf('Edge') > -1 // 判斷是否Firefox瀏覽器 var isFF = userAgent.indexOf('Firefox') > -1 // 判斷是否Safari瀏覽器 var isSafari = userAgent.indexOf('Safari') > -1 && userAgent.indexOf('Chrome') === -1 // 判斷Chrome瀏覽器 var isChrome = userAgent.indexOf('Chrome') > -1 && userAgent.indexOf('Safari') > -1 if (isIE) { var reIE = new RegExp('MSIE (\\d+\\.\\d+);') reIE.test(userAgent) var fIEVersion = parseFloat(RegExp['$1']) if (fIEVersion === 7) { return 'IE7' } else if (fIEVersion === 8) { return 'IE8' } else if (fIEVersion === 9) { return 'IE9' } else if (fIEVersion === 10) { return 'IE10' } else if (fIEVersion === 11) { return 'IE11' } else { return 'IE' } } if (isOpera) { return 'Opera' } if (isEdge) { return 'Edge' } if (isFF) { return 'FF' } if (isSafari) { return 'Safari' } if (isChrome) { return 'Chrome' } }
判斷客戶端
browserKernel() { const u = navigator.userAgent // const app = navigator.appVersion return { trident: u.indexOf('Trident') > -1, // IE內核 presto: u.indexOf('Presto') > -1, // opera內核 webKit: u.indexOf('AppleWebKit') > -1, // 蘋果、谷歌內核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') === -1, // 火狐內核 mobile: !!u.match(/AppleWebKit.*Mobile.*/), // 是否為移動終端 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), // ios終端 android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, // android終端 iPhone: u.indexOf('iPhone') > -1, // 是否為iPhone或者QQHD瀏覽器 iPad: u.indexOf('iPad') > -1, // 是否iPad webApp: u.indexOf('Safari') === -1, // 是否web應該程序,沒有頭部與底部 weixin: u.indexOf('MicroMessenger') > -1, // 是否微信 (2015-01-22新增) qq: u.match(/\sQQ/i) === ' qq' // 是否QQ } }