首页 > 解决方案 > 如何打开从 pwa(在 android shell 中)到另一个浏览器的链接

问题描述

我有一个在 android shell 中运行的简单 pwa 应用程序。每当我单击一个链接时,它都会在 android 浏览器外壳中打开该 URL。如何让它在另一个浏览器中打开?

到目前为止我已经尝试过的:

以下代码段也不起作用:

openlLink = (link) =>{
    window.open(link,'My Page',500,500);
  }

期望的结果是在任何其他独立浏览器中打开链接,而不是 web 视图。

标签: javascriptreactjs

解决方案


你是如何配置你的manifest.json

您的应用导航方式取决于您在 Web 应用清单中定义的范围。来自谷歌开发者文档

范围定义浏览器认为在您的应用程序中的 URL 集,并用于决定用户何时离开应用程序。范围控制包含 Web 应用程序中所有入口和出口点的 URL 结构。您的 start_url 必须位于范围内

注意:如果用户单击应用程序中导航到范围之外的链接,该链接将在现有 PWA 窗口中打开并呈现。如果您希望链接在浏览器选项卡中打开,则必须将 target="_blank" 添加到标签中。在 Android 上,带有 target="_blank" 的链接将在 Chrome 自定义选项卡中打开。

因此,我会检查您的网络清单并使用 target="_blank" 作为外部链接。


更新

我写了一系列关于 PWA 的文章。这篇文章专门讨论了 Web 应用清单以及如何在用户的主屏幕上安装 PWA。

否则,一个可能的例子可能是:

{
  "name": "My PWA",
  "start_url": "/myApp/?source=pwa",
  "scope": "/myApp/",
  "display": "standalone"
}

下的路线:myWebSite/myApp/...将在您的 PWA 范围内,而:myWebSite/admin/...将在它之外。


推荐阅读