首页 > 解决方案 > 当您从 chrome 访问时,如何防止 target="_blank" 链接被 PWA 应用程序打开?

问题描述

当我尝试从 Android 移动设备上的 Chrome 76/77 打开它时,我的网站项目上的一些链接有 target="_blank" 所有外部链接都由安装的 PWA 应用程序打开(添加到主屏幕)。我需要在新选项卡中打开我的链接,而不是在 PWA 应用程序中打开它。

我也尝试在我的清单文件中设置 'scope': 但它并没有解决我的问题。也许我可以更改另一个属性来防止这种行为。

{
  "name": "PWA reproducer",
  "short_name": "PWA reproducer",
  "description": "PWA reproducer",
  "orientation": "portrait",
  "background_color": "#d0112b",
  "theme_color": "#d0112b",
  "icons": [
    {
      "src": "https://reproducer-domain.com/images/logos/homescreen48.png",
      "sizes": "48x48",
      "type": "image/png"
    },
    {
      "src": "https://reproducer-domain.com/images/logos/homescreen72.png",
      "sizes": "72x72",
      "type": "image/png"
    },
    {
      "src": "https://reproducer-domain.com/images/logos/homescreen96.png",
      "sizes": "96x96",
      "type": "image/png"
    },
    {
      "src": "https://reproducer-domain.com/images/logos/homescreen144.png",
      "sizes": "144x144",
      "type": "image/png"
    },
    {
      "src": "https://reproducer-domain.com/images/logos/homescreen168.png",
      "sizes": "168x168",
      "type": "image/png"
    },
    {
      "src": "https://reproducer-domain.com/images/logos/homescreen192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "https://reproducer-domain.com/images/logos/homescreen512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ],
  "display": "standalone",
  "prefer_related_applications": false,
  "start_url": "https://reproducer-domain.com/?utm_source=homescreenPWA",
}

期望在新选项卡中打开 target="_blank",而不是通过移动设备上 Chrome 中的 PWA 应用程序打开。

标签: javascriptservice-workerprogressive-web-appsmanifest.jsonmobile-chrome

解决方案


最终,这将包含在https://github.com/WICG/sw-launch/blob/master/explainer.md中概述的提案中

我建议订阅该 repo 的更新以获取更多详细信息。

Chrome 的最终实现由这个Chrome Status entry跟踪。

但是,在撰写本文时,您无法控制它。


推荐阅读