创建 PWA - Chrome 的主页图标有效,但 Firefox 无效

Bru*_*ceM 5 progressive-web-apps

我创建了一个 PWA,移动 Chrome 允许使用正确的图标添加到主屏幕。Firefox 也允许安装到主屏幕,但没有图标?

我的index.html包含:

<link rel="manifest" href="/manifest.json" />
Run Code Online (Sandbox Code Playgroud)

我的manifest.json 看起来像这样:

{
  "short_name": "coolapp",
  "name": "coolapp",
  "icons": [
    {
      "src": "assets/pwa/android-launchericon-36-36.png",
      "sizes": "36x36",
      "type": "image/png"
    },
    {
      "src": "assets/pwa/android-launchericon-48-48.png",
      "sizes": "48x48",
      "type": "image/png"
    },
    {
      "src": "assets/pwa/android-launchericon-72-72.png",
      "sizes": "72x72",
      "type": "image/png"
    },
    {
      "src": "assets/pwa/android-launchericon-96-96.png",
      "sizes": "96x96",
      "type": "image/png"
    },
    {
      "src": "assets/pwa/android-launchericon-128-128.png",
      "sizes": "128x128",
      "type": "image/png"
    },
    {
      "src": "assets/pwa/android-launchericon-144-144.png",
      "sizes": "144x144",
      "type": "image/png"
    },
    {
      "src": "assets/pwa/android-launchericon-192-192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "assets/pwa/splash-128-128.png",
      "sizes": "128x128",
      "type": "image/png"
    }
  ],
  "start_url": "./index.html",
  "display": "standalone",
  "theme_color": "#000000",
  "background_color": "#ffffff",
  "orientation": "portrait"
}
Run Code Online (Sandbox Code Playgroud)

因此,该图标对两者都有效,直到我添加了“beforeinstallprompt”处理,现在该图标仅适用于 Chrome,不适用于 Firefox。我是否也正确地说“beforeinstallprompt”永远不会在 FF 上调用,而只会在 Chrome 上调用?在 FF 上,浏览器中会出现一个带有 + 的主屏幕图标,供用户安装到主屏幕 - 但它的安装不像 Chrome 那样像应用程序(它更像是一个快捷方式,而 Chrome 则经历了整个过程)

小智 3

是的,“beforeinstallprompt”仅在 Chrome 中可用。

虽然 PWA 通过 Firefox 和 Opera 在 Android 上运行,但只有 Chrome 拥有适当的独立支持。正如您所说,通过 Firefox 或 Opera 安装的 PWA 只会在主屏幕上显示为快捷方式。然而,它仍然可以作为 PWA 工作,但它看起来不太好,因为它不在应用程序抽屉中。