@sinosun/lib
Version:
sinosun jsbridge and net toolkit
80 lines (58 loc) • 2.69 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
require("core-js/modules/es.regexp.exec.js");
require("core-js/modules/es.string.split.js");
var _defineProperty = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/parse-int"));
var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
(0, _defineProperty["default"])(exports, "__esModule", {
value: true
});
exports.getBrowserType = exports.isElectronH5Container = exports.ismPaaS = exports.BROWSER_TYPE = exports.getDeviceBarFn = void 0;
/*
* @Author: dingfeng
* @Description:
* @FilePath: \approvald:\gitCode\sinosunlib\src\Utils\uaUtil.ts
*/
var User_Agent = window.navigator.userAgent;
var getDeviceBarFn = function getDeviceBarFn() {
// 根据userAgent 获取titleBar高度和statusBar 高度 (px)ios 设置高度延时 初始化获取不到
var BrowserList = window.navigator.userAgent.split("/");
var len = BrowserList.length; // 获取自己浏览器的配置
var curBrowserList = BrowserList[len - 1].split(" "); // 物理像素比
var devicePixelRatio = window.devicePixelRatio;
var statusBarHeight = (0, _parseInt2["default"])(curBrowserList[3]) / devicePixelRatio;
window.STATUSBARHEIGHT = isNaN(statusBarHeight) ? 0 : statusBarHeight;
var titleBarHeight = (0, _parseInt2["default"])(curBrowserList[4]) / devicePixelRatio;
window.TITLEBARHEIGHT = isNaN(titleBarHeight) ? 0 : titleBarHeight;
};
exports.getDeviceBarFn = getDeviceBarFn;
exports.BROWSER_TYPE = {
MPASS: 'MPASS',
SINO: 'SINOSUN',
WEB: 'WEB'
};
var ismPaaS = function ismPaaS() {
return (0, _indexOf["default"])(User_Agent).call(User_Agent, "mpaas") !== -1;
};
exports.ismPaaS = ismPaaS;
var isElectronH5Container = function isElectronH5Container() {
var flag = false,
_window = window;
while (_window.frameElement && !flag) {
flag = _window.frameElement.hasAttribute('ElectronH5Container');
_window = _window.parent;
}
return flag;
};
exports.isElectronH5Container = isElectronH5Container;
var getBrowserType = function getBrowserType() {
if ((0, _indexOf["default"])(User_Agent).call(User_Agent, "mpaas") !== -1) {
return exports.BROWSER_TYPE.MPASS;
}
if ((0, _indexOf["default"])(User_Agent).call(User_Agent, "sinosun") !== -1 || (0, _indexOf["default"])(User_Agent).call(User_Agent, "Electron") !== -1) {
return exports.BROWSER_TYPE.SINO;
}
return exports.BROWSER_TYPE.WEB;
};
exports.getBrowserType = getBrowserType;