UNPKG

diginext-utils

Version:
58 lines 2.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isInAppWebview = exports.isFacebookWebview = exports.ua = exports.isLandscape = exports.isPotrait = void 0; const isPotrait = () => { if (typeof window == "undefined") return false; if (!window.orientation) return window.matchMedia("(orientation: portrait)").matches; return !(window.orientation === 90 || window.orientation === -90); }; exports.isPotrait = isPotrait; const isLandscape = () => { return !(0, exports.isPotrait)(); }; exports.isLandscape = isLandscape; const ua = () => { if (typeof navigator == "undefined") return null; if (typeof window == "undefined") return null; return navigator.userAgent || navigator.vendor || window.opera; }; exports.ua = ua; const isFacebookWebview = () => { const _ua = (0, exports.ua)(); if (typeof _ua != "undefined") return _ua.indexOf("FBAN") > -1 || _ua.indexOf("FBAV") > -1; return false; }; exports.isFacebookWebview = isFacebookWebview; const isInAppWebview = () => { try { const ua = navigator.userAgent; const vendor = navigator.vendor; // Detect iOS WebView const isIOSWebView = /(iPhone|iPod|iPad)(?!.*Safari\/)/i.test(ua); // Additional check for iOS in-app browsers, excluding Chrome const isIOSInAppBrowser = isIOSWebView || (/(iPhone|iPod|iPad)/.test(ua) && !/Safari/.test(ua) && !/(CriOS|FxiOS|OPiOS)/.test(ua) && vendor === "Apple Computer, Inc."); // Detect Android WebView const isAndroidWebView = /Android.*wv|Android.*Version\/[0-9]\.0/.test(ua); // Exclude Chrome, Firefox, and Samsung Internet on Android const isAndroidStockBrowser = /Android.*Version\//.test(ua); const isAndroidChrome = /Android.*Chrome\//.test(ua) && !/Version\//.test(ua); const isAndroidFirefox = /Android.*Firefox\//.test(ua); const isAndroidSamsung = /Android.*SamsungBrowser\//.test(ua); return (isIOSInAppBrowser || (isAndroidWebView && !isAndroidStockBrowser && !isAndroidChrome && !isAndroidFirefox && !isAndroidSamsung)); } catch (error) { return true; } }; exports.isInAppWebview = isInAppWebview; //# sourceMappingURL=browser.js.map