var win = window; var nav = win.navigator; var doc = win.document; var ieAX = win.ActiveXObject; var ieMode = doc.documentMode; var REG_APPLE = /^Apple/; var ieVer = _getIeVersion() || ieMode || 0; var isIe = ieAX || ieMode; var chromiumType = _getChromiumType(); /** * 检测 external 是否包含该字段 * @param reg 正则 * @param type 检测类型,0为键,1为值 * @returns {boolean} * @private */ function _testExternal(reg, type) { var external = win.external || {}; for (var i in external) { if (reg.test(type ? external[i] : i)) { return true; } } return false; } /** * 获取 Chromium 内核浏览器类型 * @link http://www.adtchrome.com/js/help.js * @link https://ext.chrome.360.cn/webstore * @link https://ext.se.360.cn * @return {String} * 360ee 360极速浏览器 * 360se 360安全浏览器 * sougou 搜狗浏览器 * liebao 猎豹浏览器 * chrome 谷歌浏览器 * '' 无法判断 * @version 1.0 * 2014年3月12日20:39:55 */ function _getChromiumType() { if (isIe || typeof win.scrollMaxX !== 'undefined' || REG_APPLE.test(nav.vendor || '')) { return ''; } var _track = 'track' in document.createElement('track'); var webstoreKeysLength = win.chrome && win.chrome.webstore ? Object.keys(win.chrome.webstore).length : 0; // 搜狗浏览器 if (_testExternal(/^sogou/i, 0)) { return 'sogou'; } // 猎豹浏览器 if (_testExternal(/^liebao/i, 0)) { return 'liebao'; } // chrome if (win.clientInformation && win.clientInformation.permissions) { return 'chrome'; } if (_track) { // 360极速浏览器 // 360安全浏览器 return webstoreKeysLength > 1 ? '360ee' : '360se'; } return ''; } // 获得ie浏览器版本 function _getIeVersion() { var v = 3, p = document.createElement('p'), all = p.getElementsByTagName('i'); while ( p.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', all[0]); return v > 4 ? v : 0; }