我有两个网页。第一个在新选项卡中打开第二个。他们通过JavaScript的postMessage相互交流。此设置适用于每个浏览器(桌面/移动设备)。
当我尝试使用Android上的Chrome自定义标签模拟相同的行为时,第二页以相同的布局而不是新的布局打开。结果我不能再使用postMessage了。
如何强制自定义标签内的链接在新的自定义标签页中打开并保留postMessage功能?
答案 0 :(得分:0)
无法从网页内容创建其他自定义标签。这是因为我们希望保持一种快速返回打开选项卡的应用程序的方法。
另一方面,我无法回想起postMessage中选项卡类型/可见性的逻辑检查。听起来像个臭虫。
详细复制程序的错误会有很大帮助,请使用README.md中的“此模板”链接:https://github.com/GoogleChrome/custom-tabs-client
谢谢!
答案 1 :(得分:0)
通过安装适用于Android的最新版Chrome 解决了这个问题。
将Chrome自定义标签与Chrome 48.0.2564.95 window2 一起使用,将其内容加载到 window1 中。从Chrome 49.0.2623.91开始, window1 的状态被保留, window2 在同一个自定义选项卡中打开,从而隐藏了 window1 。 postMessage工作得很好。你可以看到附带的截图。
Android Chrome Debugging with Inspect Devices
然而,仍存在一个小错误。当从底页 window1 触发警报时, window2 变为非活动状态,但仍然可见。这意味着重点是 window1 ,但你看到了 window2 的内容。我必须使用调试器手动将焦点移回 window2 以恢复正常的工作设置。