检测并防止在 Chrome 个自定义标签页中打开新标签页

Detect & prevent opening new tabs inside Chrome Custom Tabs

背景:

问题: 在 Android 设备上,使用 Gmail 应用程序,电子邮件中的 clicking/tapping links 在正确显示 Window A 的 Chrome Custom Tab 浏览器中打开结果页面。

但是,打开 window B 会将其定位在 window A 之上。虽然两个浏览上下文之间的 postMessage 正常工作 用户没有办法到 return 到 Window A。浏览器中的后退箭头将 return 用户转到 Gmail 应用程序。

我们希望检测到这种情况并优雅地回退,这样用户就不会发现自己陷入 Window B - 正如我们对其他非多标签浏览器(如 WebViews(Facebook 等)所做的那样).

似乎 Chrome 自定义标签使用与“常规”多标签 Chrome 浏览器 完全相同的用户代理,所以这不是一个选项。

如果有人想出一种通过 Chrome Custom Tabs

检测加载的方法,我们将不胜感激

Custom Tabs 和 Trusted Web Activity 在很大程度上是相同的协议。 中描述的解决方案也适用于自定义选项卡。