cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
71 lines (70 loc) • 2.34 kB
JavaScript
var Browser = function() {
function Browser2() {
this.firefox = false;
this.ie = false;
this.edge = false;
this.newEdge = false;
this.weChat = false;
}
return Browser2;
}();
var Env = function() {
function Env2() {
this.browser = new Browser();
this.node = false;
this.wxa = false;
this.worker = false;
this.svgSupported = false;
this.touchEventsSupported = false;
this.pointerEventsSupported = false;
this.domSupported = false;
this.transformSupported = false;
this.transform3dSupported = false;
this.hasGlobalWindow = typeof window !== "undefined";
}
return Env2;
}();
var env = new Env();
if (typeof wx === "object" && typeof wx.getSystemInfoSync === "function") {
env.wxa = true;
env.touchEventsSupported = true;
} else if (typeof document === "undefined" && typeof self !== "undefined") {
env.worker = true;
} else if (typeof navigator === "undefined") {
env.node = true;
env.svgSupported = true;
} else {
detect(navigator.userAgent, env);
}
function detect(ua, env2) {
var browser = env2.browser;
var firefox = ua.match(/Firefox\/([\d.]+)/);
var ie = ua.match(/MSIE\s([\d.]+)/) || ua.match(/Trident\/.+?rv:(([\d.]+))/);
var edge = ua.match(/Edge?\/([\d.]+)/);
var weChat = /micromessenger/i.test(ua);
if (firefox) {
browser.firefox = true;
browser.version = firefox[1];
}
if (ie) {
browser.ie = true;
browser.version = ie[1];
}
if (edge) {
browser.edge = true;
browser.version = edge[1];
browser.newEdge = +edge[1].split(".")[0] > 18;
}
if (weChat) {
browser.weChat = true;
}
env2.svgSupported = typeof SVGRect !== "undefined";
env2.touchEventsSupported = "ontouchstart" in window && !browser.ie && !browser.edge;
env2.pointerEventsSupported = "onpointerdown" in window && (browser.edge || browser.ie && +browser.version >= 11);
env2.domSupported = typeof document !== "undefined";
var style = document.documentElement.style;
env2.transform3dSupported = (browser.ie && "transition" in style || browser.edge || "WebKitCSSMatrix" in window && "m11" in new WebKitCSSMatrix() || "MozPerspective" in style) && !("OTransition" in style);
env2.transformSupported = env2.transform3dSupported || browser.ie && +browser.version >= 9;
}
var env$1 = env;
export { env$1 as default };