【问题标题】:how to open link from pwa(in android shell) to another browser如何打开从 pwa(在 android shell 中)到另一个浏览器的链接
【发布时间】:2019-08-12 10:38:55
【问题描述】:

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

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

下面的 sn-p 也不起作用:

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

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

【问题讨论】:

标签: javascript reactjs


【解决方案1】:

你是如何配置你的manifest.json的?

您的应用导航方式取决于您在网络应用清单中定义的范围。来自Google developers document

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

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

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


更新

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

否则一个可能的例子是:

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

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

【讨论】:

  • 我与“_blank”一起使用的链接是一个不同的域,它现在可以根据需要工作,你能给我一个例子来说明如何在清单中设置范围吗?谢谢你。清单文件上尚未设置范围
猜你喜欢
  • 1970-01-01
  • 2019-04-09
  • 2014-03-12
  • 1970-01-01
  • 2017-09-08
  • 2015-05-27
  • 2012-08-11
  • 2021-04-02
相关资源
最近更新 更多