PWA manifest.json - “theme_color”和“background_color”不起作用,启动画面未显示在安卓设备上

Apo*_*bal 8 google-chrome-devtools create-react-app manifest.json pwa

当我在 Chrome DevTools 中查看 manifest.js 时,我可以看到徽标和颜色都在那里。但是,当我在 Android 设备上从主屏幕启动网站时,既没有加载背景颜色也没有加载主题颜色,也没有显示启动画面。知道为什么吗?

清单.json:

{
  "short_name": "Example",
  "name": "Example",
  "icons": [
    {
      "src": "images/logo_192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "images/logo_512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ],
  "start_url": "./",
  "display": "standalone",
  "theme_color": "#a300c4",
  "background_color": "#c46a00"
}
Run Code Online (Sandbox Code Playgroud)

截屏: Chrome Devtools 中的清单

编辑

我发现了错误。我使用 Chrome DevTools 通过远程设备浏览网站。端口转发到 localhost:3000 不符合 https 要求触发启动画面。

现在 pwa 以独立模式启动,颜色和闪屏显示正确。

但是,没有显示初始屏幕徽标,我不知道为什么。图像的路径是正确的,并且图像存在正确的文件名和类型。

有什么建议?

Wil*_*eta 12

“如果你的页面已经有一个主题颜色元标记——例如<meta name="theme-color" content="#2196F3">——那么将使用页面级别的配置而不是清单中的值。”

来自:https : //developers.google.com/web/updates/2015/08/using-manifest-to-set-sitewide-theme-color

  • 我正在将 Angular 应用程序转换为 PWA。Angular CLI 会自动添加 `&lt;meta name="theme-color"&gt;` 标签,所以这就是我的解决方案。我需要更新我的清单和“index.html”。感谢分享。 (2认同)

Ana*_*and 3

我认为此清单唯一的问题是起始 URL。将其更改为如下所示

  "start_url": "/index.html",
Run Code Online (Sandbox Code Playgroud)

或者

  "start_url": "https://example.com/myapp/",
Run Code Online (Sandbox Code Playgroud)

如果这没有帮助,请将您的应用程序托管在某个公共域中并共享 URL。