【问题标题】:target="_blank" link opening in PWA and not in browser in Androidtarget="_blank" 链接在 PWA 中打开,而不是在 Android 的浏览器中打开
【发布时间】:2019-04-09 22:59:33
【问题描述】:

我有一个也是 PWA 的网站。

如果我将 PWA 添加到我的设备 (Android),然后返回浏览器(Chrome,适用于 Android 的最新可用版本),无论如何都会在 PWA 中打开带有target="_blank" 的链接。

我知道这可能是一个极端情况,但如果我想确保浏览器链接将在浏览器中打开而不是在 PWA 中打开怎么办?

iOS 行为正确...

【问题讨论】:

  • 只是好奇。如果您希望 PWA 的某些页面在普通浏览器窗口中打开(而不是在现有的独立 PWA 中),为什么要构建 PWA?另外:您是否使用路由器链接访问这些页面?一段代码可以帮助我们弄清楚。
  • @Mathias 好问题。但可悲的是答案是:“他们让我这样做”。
  • 做过吗:-)
  • @Mathias:例如让您的应用程序以全屏模式运行,但链接的 PDF 带有在浏览器中的使用说明,否则就无法从 PDF 导航“返回”

标签: android google-chrome progressive-web-apps


【解决方案1】:

在 manifest.json 中设置一个范围,它决定了哪些链接将在 PWA 中打开,哪些链接将在浏览器中打开:

scope parameter in PWA Manifest

编辑:解释和示例都在上面链接的页面上......但是如果有帮助,我可以将它们粘贴在这里给你?

范围成员是一个字符串,用于定义此 Web 应用程序的应用程序上下文的导航范围。它限制了在应用清单时可以查看哪些网页。 如果用户在范围之外导航,它会恢复到浏览器选项卡或窗口内的普通网页。
如果范围是相对 URL,则基本 URL 将是清单的 URL。

相对范围:“范围”:“/app/”
将范围限制为域:“范围”:“https://example.com/”
结合上面的例子:“范围”:“https://example.com/subdirectory/”

【讨论】:

  • 你能举个例子吗?在清单范围参数中找不到有关如何执行此操作的任何文档。另外,我有多个应该在浏览器中打开的 URL。
  • 我将它设置为“./”,但它对我不起作用。它应该是别的东西吗?
猜你喜欢
  • 2021-04-02
  • 1970-01-01
  • 2012-07-06
  • 2015-08-16
  • 2016-01-20
  • 2020-06-18
  • 2011-03-28
  • 1970-01-01
  • 2017-09-08
相关资源
最近更新 更多