UNPKG

3.49 kBJavaScriptView Raw
1function getBrowserVersion() {
2 var agent = navigator.userAgent.toLowerCase(),
3 opera = window.opera,
4 browser = {
5 //检测当前浏览器是否为IE
6 ie: /(msie\s|trident.*rv:)([\w.]+)/.test(agent),
7 //检测当前浏览器是否为Opera
8 opera: (!!opera && opera.version),
9 //检测当前浏览器是否是webkit内核的浏览器
10 webkit: (agent.indexOf(' applewebkit/') > -1),
11 //检测当前浏览器是否是运行在mac平台下
12 mac: (agent.indexOf('macintosh') > -1),
13 //检测当前浏览器是否处于“怪异模式”下
14 quirks: (document.compatMode == 'BackCompat')
15 };
16 //检测当前浏览器内核是否是gecko内核
17 browser.gecko = (navigator.product == 'Gecko' && !browser.webkit && !browser.opera && !browser.ie);
18 var version = 0;
19 // Internet Explorer 6.0+
20 if (browser.ie) {
21 var v1 = agent.match(/(?:msie\s([\w.]+))/);
22 var v2 = agent.match(/(?:trident.*rv:([\w.]+))/);
23 if (v1 && v2 && v1[1] && v2[1]) {
24 version = Math.max(v1[1] * 1, v2[1] * 1);
25 } else if (v1 && v1[1]) {
26 version = v1[1] * 1;
27 } else if (v2 && v2[1]) {
28 version = v2[1] * 1;
29 } else {
30 version = 0;
31 }
32 //检测浏览器模式是否为 IE11 兼容模式
33 browser.ie11Compat = document.documentMode == 11;
34 //检测浏览器模式是否为 IE9 兼容模式
35 browser.ie9Compat = document.documentMode == 9;
36 //检测浏览器模式是否为 IE10 兼容模式
37 browser.ie10Compat = document.documentMode == 10;
38 //检测浏览器是否是IE8浏览器
39 browser.ie8 = !!document.documentMode;
40 //检测浏览器模式是否为 IE8 兼容模式
41 browser.ie8Compat = document.documentMode == 8;
42 //检测浏览器模式是否为 IE7 兼容模式
43 browser.ie7Compat = ((version == 7 && !document.documentMode) || document.documentMode == 7);
44 //检测浏览器模式是否为 IE6 模式 或者怪异模式
45 browser.ie6Compat = (version < 7 || browser.quirks);
46 browser.ie9above = version > 8;
47 browser.ie9below = version < 9;
48 }
49 // Gecko.
50 if (browser.gecko) {
51 var geckoRelease = agent.match(/rv:([\d\.]+)/);
52 if (geckoRelease) {
53 geckoRelease = geckoRelease[1].split('.');
54 version = geckoRelease[0] * 10000 + (geckoRelease[1] || 0) * 100 + (geckoRelease[2] || 0) * 1;
55 }
56 }
57 //检测当前浏览器是否为Chrome, 如果是,则返回Chrome的大版本号
58 if (/chrome\/(\d+\.\d)/i.test(agent)) {
59 browser.chrome = +RegExp['\x241'];
60 }
61 //检测当前浏览器是否为Safari, 如果是,则返回Safari的大版本号
62 if (/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(agent) && !/chrome/i.test(agent)) {
63 browser.safari = +(RegExp['\x241'] || RegExp['\x242']);
64 }
65 // Opera 9.50+
66 if (browser.opera)
67 version = parseFloat(opera.version());
68 // WebKit 522+ (Safari 3+)
69 if (browser.webkit)
70 version = parseFloat(agent.match(/ applewebkit\/(\d+)/)[1]);
71 //检测当前浏览器版本号
72 browser.version = version;
73 return browser;
74}
75
76function isDevMode() {
77 const devMode = location.href.indexOf('127.0.0.1') > -1
78 || location.href.indexOf('localhost') > -1
79 || location.href.indexOf('debug.') > -1
80 || location.href.indexOf('192.') > -1
81 || location.href.indexOf('172.') > -1
82 || location.href.indexOf('dev.') > -1
83 || location.href.indexOf('test.') > -1
84
85 if (location.href.indexOf('erptest.jchl') > -1) return false
86 return devMode
87}
88
89export default {
90 getBrowserVersion,
91 isDevMode
92}
\No newline at end of file