UNPKG

@sinosun/lib

Version:

sinosun jsbridge and net toolkit

80 lines (58 loc) 2.69 kB
"use strict"; 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;