diginext-utils
Version:
README.md
50 lines • 2 kB
JavaScript
export const isPotrait = () => {
if (typeof window == "undefined")
return false;
if (!window.orientation)
return window.matchMedia("(orientation: portrait)").matches;
return !(window.orientation === 90 || window.orientation === -90);
};
export const isLandscape = () => {
return !isPotrait();
};
export const ua = () => {
if (typeof navigator == "undefined")
return null;
if (typeof window == "undefined")
return null;
return navigator.userAgent || navigator.vendor || window.opera;
};
export const isFacebookWebview = () => {
const _ua = ua();
if (typeof _ua != "undefined")
return _ua.indexOf("FBAN") > -1 || _ua.indexOf("FBAV") > -1;
return false;
};
export 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;
}
};
//# sourceMappingURL=browser.js.map