我让Chrome在Android上安装我的PWA-安装完成后,我想自动关闭从中安装该浏览器的浏览器窗口,然后打开PWA(因此用户不会继续在浏览器窗口中以为他们是重新使用PWA)-这可能吗?
答案 0 :(得分:2)
我在装有Chrome的Android上遇到了此问题。有所作为的更改是在链接中添加“ target ='_ blank'”。看起来像:
$Pattern
十秒超时是为了让Android有时间在首页上设置该应用。 我早些时候做了调整。可能我可以删除它? 但是设定目标是使这项工作奏效的原因。
该应用会在Chrome顶部打开,从而将其遮盖。 因此,不是立即需要关闭浏览器,而是建议关闭。
答案 1 :(得分:1)
基于此博客文章:
安装PWA后,它将显示在主屏幕中的 设置中的应用启动器,以及其他任何一流的公民应用 操作系统,包括有关系统中电池和空间的信息。
当用户从主屏幕打开应用程序时,会有一个跟踪事件。这意味着用户单击了该应用程序的图标,或者在具有WebAPK支持的Android上,还单击了指向PWA范围的链接,需要关闭浏览器。
start_url: '/?utm_source=standalone&utm_medium=pwa'
此外,以下脚本为我们提供了一个布尔值,说明用户当前是否处于浏览器(true)或独立应用程序模式(false)
var isPWAinBrowser = true;
// replace standalone with fullscreen or minimal-ui according to your manifest
if (matchMedia('(display-mode: standalone)').matches) {
// Android and iOS 11.3+
isPWAinBrowser = false;
} else if ('standalone' in navigator) {
// useful for iOS < 11.3
isPWAinBrowser = !navigator.standalone;
}
答案 2 :(得分:1)
我一直在寻找类似的解决方案,但尚未找到一种解决方法。我尝试描述到目前为止的发现:
关闭浏览器窗口:
如answer window.close()中所述的只能在脚本自身打开的窗口/选项卡上调用。那里正在讨论一些可能的解决方法。
安装后立即打开PWA:
Google在其WebApk Fundamentals Article中对其进行了如下描述:
在Android上安装渐进式Web应用程序时,它将为该应用程序范围内的所有URL注册一组意图过滤器。当用户单击应用程序范围内的链接时,将打开该应用程序,而不是在浏览器选项卡中打开。
我希望从仍然打开的浏览器窗口中安装/添加到主屏幕后,它也能正常工作。
基于在两台Android设备上进行的测试,看来此时用户必须从主屏幕一次手动打开PWA ,以便chrome / android解释Web应用manifest.json的范围,旨在独立打开页面。
这很可悲,甚至iOS似乎也处理不了这种情况。
也许我忽略了Google文章中的内容?我也没有完全理解android的intent API-所以也许有某种方法仍然可以实现(?)
答案 3 :(得分:0)
在新版本的 chrome 中,在 android 中安装后,它会将“范围”中的所有链接关联到 PWA 应用程序,如果您尝试在 chrome 浏览器中打开一个链接,它会直接在应用程序中打开。 希望能回答你的问题