在移动设备上检测应用内webView或mini浏览器

问题描述

我有一个Angular 9应用。当用户在gmail应用内浏览器中打开邮件时,我想显示一些消息。我没有找到Gmail应用内浏览器和iPhone上的Safari之间的区别。我尝试了以下方法detect ipad/iphone webview via javascript,检查indexeddb,Navigator.canShare(),它们没有帮助。 navigator.userAgent在这些浏览器上是相同的。请帮助找到差异。

解决方法

@maksym您是否希望在Gmail IOS应用的网络驱动程序中打开网站时区分用户会话?

,

在 iPhone 上,视口高度略有不同(iPhone 8:Safari 中为 1445,Gmail 中为 1461)。

如果:

  1. 用户电子邮件域是 Gmail
  2. iOS 移动用户代理匹配
    • Gmail 视口大小匹配(每个设备不同)
      • 假设用户使用 Gmail 应用
      • 显示插页式页面,提示用户点击右下角的 Safari 链接,如果需要,还会显示“在 Gmail 应用程序中继续”的小尺寸链接警告。

注意:这不适用于自定义域,否则您必须以某种方式映射它们。