UNPKG

infinity-forge

Version:
42 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getBrowser = getBrowser; var window_1 = require("../ssr-window/window.js"); var get_device_1 = require("./get-device.js"); var browser; function calcBrowser() { var window = (0, window_1.getWindow)(); var device = (0, get_device_1.getDevice)(); var needPerspectiveFix = false; function isSafari() { var ua = window.navigator.userAgent.toLowerCase(); return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0; } if (isSafari()) { var ua = String(window.navigator.userAgent); if (ua.includes('Version/')) { var _a = ua .split('Version/')[1] .split(' ')[0] .split('.') .map(function (num) { return Number(num); }), major = _a[0], minor = _a[1]; needPerspectiveFix = major < 16 || (major === 16 && minor < 2); } } var isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent); var isSafariBrowser = isSafari(); var need3dFix = isSafariBrowser || (isWebView && device.ios); return { isSafari: needPerspectiveFix || isSafariBrowser, needPerspectiveFix: needPerspectiveFix, need3dFix: need3dFix, isWebView: isWebView, }; } function getBrowser() { if (!browser) { browser = calcBrowser(); } return browser; } //# sourceMappingURL=get-browser.js.map