You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
3.4 KiB
129 lines
3.4 KiB
// 浏览器相关方法 |
|
BI._.extend(BI, { |
|
isIE: function () { |
|
if(!_global.navigator) { |
|
return false; |
|
} |
|
if (this.__isIE == null) { |
|
this.__isIE = /(msie|trident)/i.test(navigator.userAgent.toLowerCase()); |
|
} |
|
return this.__isIE; |
|
}, |
|
|
|
getIEVersion: function () { |
|
if(!_global.navigator) { |
|
return 0; |
|
} |
|
if (this.__IEVersion != null) { |
|
return this.__IEVersion; |
|
} |
|
var version = 0; |
|
var agent = navigator.userAgent.toLowerCase(); |
|
var v1 = agent.match(/(?:msie\s([\w.]+))/); |
|
var v2 = agent.match(/(?:trident.*rv:([\w.]+))/); |
|
if (v1 && v2 && v1[1] && v2[1]) { |
|
version = Math.max(v1[1] * 1, v2[1] * 1); |
|
} else if (v1 && v1[1]) { |
|
version = v1[1] * 1; |
|
} else if (v2 && v2[1]) { |
|
version = v2[1] * 1; |
|
} else { |
|
version = 0; |
|
} |
|
return this.__IEVersion = version; |
|
}, |
|
|
|
isIE9Below: function () { |
|
if (!BI.isIE()) { |
|
return false; |
|
} |
|
return this.getIEVersion() < 9; |
|
}, |
|
|
|
isEdge: function () { |
|
if(!_global.navigator) { |
|
return false; |
|
} |
|
return /edg/i.test(navigator.userAgent.toLowerCase()); |
|
}, |
|
|
|
isChrome: function () { |
|
if(!_global.navigator) { |
|
return false; |
|
} |
|
return /chrome/i.test(navigator.userAgent.toLowerCase()); |
|
}, |
|
|
|
isFireFox: function () { |
|
if(!_global.navigator) { |
|
return false; |
|
} |
|
return /firefox/i.test(navigator.userAgent.toLowerCase()); |
|
}, |
|
|
|
isOpera: function () { |
|
if(!_global.navigator) { |
|
return false; |
|
} |
|
return /opera/i.test(navigator.userAgent.toLowerCase()); |
|
}, |
|
|
|
isSafari: function () { |
|
if(!_global.navigator) { |
|
return false; |
|
} |
|
return /safari/i.test(navigator.userAgent.toLowerCase()) && !/chrome/i.test(navigator.userAgent.toLowerCase()); |
|
}, |
|
|
|
isKhtml: function () { |
|
if(!_global.navigator) { |
|
return false; |
|
} |
|
return /Konqueror|Safari|KHTML/i.test(navigator.userAgent); |
|
}, |
|
|
|
isMac: function () { |
|
if(!_global.navigator) { |
|
return false; |
|
} |
|
return /macintosh|mac os x/i.test(navigator.userAgent); |
|
}, |
|
|
|
isWindows: function () { |
|
if(!_global.navigator) { |
|
return false; |
|
} |
|
return /windows|win32/i.test(navigator.userAgent); |
|
}, |
|
|
|
isSupportCss3: function (style) { |
|
if(!_global.document) { |
|
return false; |
|
} |
|
var prefix = ["webkit", "Moz", "ms", "o"], |
|
i, len, |
|
humpString = [], |
|
htmlStyle = document.documentElement.style, |
|
_toHumb = function (string) { |
|
if (!BI.isString(string)) { |
|
return ""; |
|
} |
|
|
|
return string.replace(/-(\w)/g, function ($0, $1) { |
|
return $1.toUpperCase(); |
|
}); |
|
}; |
|
|
|
for ( i = 0; i < prefix.length; i++) { |
|
humpString.push(_toHumb(prefix[i] + "-" + style)); |
|
} |
|
humpString.push(_toHumb(style)); |
|
|
|
for (i = 0, len = humpString.length; i < len; i++) { |
|
if (humpString[i] in htmlStyle) { |
|
return true; |
|
} |
|
} |
|
return false; |
|
} |
|
});
|
|
|