123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- "use strict";
- exports.__esModule = true;
- var appleIphone = /iPhone/i;
- var appleIpod = /iPod/i;
- var appleTablet = /iPad/i;
- var appleUniversal = /\biOS-universal(?:.+)Mac\b/i;
- var androidPhone = /\bAndroid(?:.+)Mobile\b/i;
- var androidTablet = /Android/i;
- var amazonPhone = /(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i;
- var amazonTablet = /Silk/i;
- var windowsPhone = /Windows Phone/i;
- var windowsTablet = /\bWindows(?:.+)ARM\b/i;
- var otherBlackBerry = /BlackBerry/i;
- var otherBlackBerry10 = /BB10/i;
- var otherOpera = /Opera Mini/i;
- var otherChrome = /\b(CriOS|Chrome)(?:.+)Mobile/i;
- var otherFirefox = /Mobile(?:.+)Firefox\b/i;
- var isAppleTabletOnIos13 = function (navigator) {
- return (typeof navigator !== 'undefined' &&
- navigator.platform === 'MacIntel' &&
- typeof navigator.maxTouchPoints === 'number' &&
- navigator.maxTouchPoints > 1 &&
- typeof MSStream === 'undefined');
- };
- function createMatch(userAgent) {
- return function (regex) { return regex.test(userAgent); };
- }
- function isMobile(param) {
- var nav = {
- userAgent: '',
- platform: '',
- maxTouchPoints: 0
- };
- if (!param && typeof navigator !== 'undefined') {
- nav = {
- userAgent: navigator.userAgent,
- platform: navigator.platform,
- maxTouchPoints: navigator.maxTouchPoints || 0
- };
- }
- else if (typeof param === 'string') {
- nav.userAgent = param;
- }
- else if (param && param.userAgent) {
- nav = {
- userAgent: param.userAgent,
- platform: param.platform,
- maxTouchPoints: param.maxTouchPoints || 0
- };
- }
- var userAgent = nav.userAgent;
- var tmp = userAgent.split('[FBAN');
- if (typeof tmp[1] !== 'undefined') {
- userAgent = tmp[0];
- }
- tmp = userAgent.split('Twitter');
- if (typeof tmp[1] !== 'undefined') {
- userAgent = tmp[0];
- }
- var match = createMatch(userAgent);
- var result = {
- apple: {
- phone: match(appleIphone) && !match(windowsPhone),
- ipod: match(appleIpod),
- tablet: !match(appleIphone) &&
- (match(appleTablet) || isAppleTabletOnIos13(nav)) &&
- !match(windowsPhone),
- universal: match(appleUniversal),
- device: (match(appleIphone) ||
- match(appleIpod) ||
- match(appleTablet) ||
- match(appleUniversal) ||
- isAppleTabletOnIos13(nav)) &&
- !match(windowsPhone)
- },
- amazon: {
- phone: match(amazonPhone),
- tablet: !match(amazonPhone) && match(amazonTablet),
- device: match(amazonPhone) || match(amazonTablet)
- },
- android: {
- phone: (!match(windowsPhone) && match(amazonPhone)) ||
- (!match(windowsPhone) && match(androidPhone)),
- tablet: !match(windowsPhone) &&
- !match(amazonPhone) &&
- !match(androidPhone) &&
- (match(amazonTablet) || match(androidTablet)),
- device: (!match(windowsPhone) &&
- (match(amazonPhone) ||
- match(amazonTablet) ||
- match(androidPhone) ||
- match(androidTablet))) ||
- match(/\bokhttp\b/i)
- },
- windows: {
- phone: match(windowsPhone),
- tablet: match(windowsTablet),
- device: match(windowsPhone) || match(windowsTablet)
- },
- other: {
- blackberry: match(otherBlackBerry),
- blackberry10: match(otherBlackBerry10),
- opera: match(otherOpera),
- firefox: match(otherFirefox),
- chrome: match(otherChrome),
- device: match(otherBlackBerry) ||
- match(otherBlackBerry10) ||
- match(otherOpera) ||
- match(otherFirefox) ||
- match(otherChrome)
- },
- any: false,
- phone: false,
- tablet: false
- };
- result.any =
- result.apple.device ||
- result.android.device ||
- result.windows.device ||
- result.other.device;
- result.phone =
- result.apple.phone || result.android.phone || result.windows.phone;
- result.tablet =
- result.apple.tablet || result.android.tablet || result.windows.tablet;
- return result;
- }
- exports["default"] = isMobile;
- //# sourceMappingURL=isMobile.js.map
|