mirror of
https://github.com/agam778/MS-365-Electron.git
synced 2026-02-17 09:02:10 +00:00
119 lines
3.1 KiB
JavaScript
119 lines
3.1 KiB
JavaScript
/* browser.js v1.0 | @ajlkn | MIT licensed */
|
|
var browser = (function () {
|
|
"use strict";
|
|
var e = {
|
|
name: null,
|
|
version: null,
|
|
os: null,
|
|
osVersion: null,
|
|
touch: null,
|
|
mobile: null,
|
|
_canUse: null,
|
|
canUse: function (n) {
|
|
e._canUse || (e._canUse = document.createElement("div"));
|
|
var o = e._canUse.style,
|
|
r = n.charAt(0).toUpperCase() + n.slice(1);
|
|
return (
|
|
n in o ||
|
|
"Moz" + r in o ||
|
|
"Webkit" + r in o ||
|
|
"O" + r in o ||
|
|
"ms" + r in o
|
|
);
|
|
},
|
|
init: function () {
|
|
var n,
|
|
o,
|
|
r,
|
|
i,
|
|
t = navigator.userAgent;
|
|
for (
|
|
n = "other",
|
|
o = 0,
|
|
r = [
|
|
["firefox", /Firefox\/([0-9\.]+)/],
|
|
["bb", /BlackBerry.+Version\/([0-9\.]+)/],
|
|
["bb", /BB[0-9]+.+Version\/([0-9\.]+)/],
|
|
["opera", /OPR\/([0-9\.]+)/],
|
|
["opera", /Opera\/([0-9\.]+)/],
|
|
["edge", /Edge\/([0-9\.]+)/],
|
|
["safari", /Version\/([0-9\.]+).+Safari/],
|
|
["chrome", /Chrome\/([0-9\.]+)/],
|
|
["ie", /MSIE ([0-9]+)/],
|
|
["ie", /Trident\/.+rv:([0-9]+)/],
|
|
],
|
|
i = 0;
|
|
i < r.length;
|
|
i++
|
|
)
|
|
if (t.match(r[i][1])) {
|
|
(n = r[i][0]), (o = parseFloat(RegExp.$1));
|
|
break;
|
|
}
|
|
for (
|
|
e.name = n,
|
|
e.version = o,
|
|
n = "other",
|
|
o = 0,
|
|
r = [
|
|
[
|
|
"ios",
|
|
/([0-9_]+) like Mac OS X/,
|
|
function (e) {
|
|
return e.replace("_", ".").replace("_", "");
|
|
},
|
|
],
|
|
[
|
|
"ios",
|
|
/CPU like Mac OS X/,
|
|
function (e) {
|
|
return 0;
|
|
},
|
|
],
|
|
["wp", /Windows Phone ([0-9\.]+)/, null],
|
|
["android", /Android ([0-9\.]+)/, null],
|
|
[
|
|
"mac",
|
|
/Macintosh.+Mac OS X ([0-9_]+)/,
|
|
function (e) {
|
|
return e.replace("_", ".").replace("_", "");
|
|
},
|
|
],
|
|
["windows", /Windows NT ([0-9\.]+)/, null],
|
|
["bb", /BlackBerry.+Version\/([0-9\.]+)/, null],
|
|
["bb", /BB[0-9]+.+Version\/([0-9\.]+)/, null],
|
|
["linux", /Linux/, null],
|
|
["bsd", /BSD/, null],
|
|
["unix", /X11/, null],
|
|
],
|
|
i = 0;
|
|
i < r.length;
|
|
i++
|
|
)
|
|
if (t.match(r[i][1])) {
|
|
(n = r[i][0]),
|
|
(o = parseFloat(r[i][2] ? r[i][2](RegExp.$1) : RegExp.$1));
|
|
break;
|
|
}
|
|
(e.os = n),
|
|
(e.osVersion = o),
|
|
(e.touch =
|
|
"wp" == e.os
|
|
? navigator.msMaxTouchPoints > 0
|
|
: !!("ontouchstart" in window)),
|
|
(e.mobile =
|
|
"wp" == e.os || "android" == e.os || "ios" == e.os || "bb" == e.os);
|
|
},
|
|
};
|
|
return e.init(), e;
|
|
})();
|
|
!(function (e, n) {
|
|
"function" == typeof define && define.amd
|
|
? define([], n)
|
|
: "object" == typeof exports
|
|
? (module.exports = n())
|
|
: (e.browser = n());
|
|
})(this, function () {
|
|
return browser;
|
|
});
|