JSFiddle - React, Tailwind, and code Playground

by ajai jothi

JavaScript

function isInAppBrowser(userAgent) {
  var _ua = userAgent || '';

  var apps = {
    messenger: /\bFB[\w_]+\/(Messenger|MESSENGER)/,
    facebook: /\bFB[\w_]+\//,
    twitter: /\bTwitter/i,
    line: /\bLine\//i,
    wechat: /\bMicroMessenger\//i,
    puffin: /\bPuffin/i,
    miui: /\bMiuiBrowser\//i,
    instagram: /\bInstagram/i,
    googleSearchApp: /\bGSA/i
  };
  var webView = ['WebView', '(iPhone|iPod|iPad)(?!.*Safari\/)', 'Android.*(wv|\.0\.0\.0)'];
  var _isWebView = Boolean(_ua.match(new RegExp("(" + webView.join('|') + ")", 'ig'))),
    _isInAppBrowser = Object.keys(apps).some(function(app) {
      return apps[app].test(_ua);
    });
  return _isWebView || _isInAppBrowser;
}

alert('isInAppBrowser: ' + isInAppBrowser(navigator.userAgent));