Favicon Tools检测创建
PWA

Web App Manifest(manifest.json)

Web app manifest 是一个从页面 head 链接的 JSON 文件(通常是 manifest.json 或 site.webmanifest),它告诉浏览器当你的网站被安装到主屏幕或启动器时该如何表现。它提供应用名称、图标集、主题色和背景色,以及显示模式。没有它,浏览器就不会提议把网站作为 PWA 安装。

Manifest 声明了什么

Manifest 是一个用 <link rel="manifest"> 链接的小型 JSON 文档。当用户安装网站时,浏览器会读取它来给应用命名、选择图标、为启动画面着色,并决定显示多少浏览器界面。

它只对可安装性和主屏幕行为有意义。一个普通的浏览器标签页从不需要它(favicon link 标签已覆盖那部分),这就是为什么很多网站根本没有 manifest。

一个最小的 manifest

{
  "name": "My App",
  "short_name": "App",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#111111",
  "icons": [
    { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

关键字段

字段用途
name / short_name完整名称与主屏幕标签
icons安装与主屏幕的图标集
display已安装应用显示多少浏览器界面
theme_color为应用周围的操作系统界面着色
background_color启动时的启动画面颜色
start_url已安装应用打开时进入的页面

Web app manifest 常见问题

我需要一个 web app manifest 吗?

只有当你想让网站可作为 PWA 安装、或想控制它的主屏幕外观时才需要。一个只有 favicon 的普通网站并不需要它。

manifest.json 和 site.webmanifest 有什么区别?

除了文件名什么区别都没有。两者都是同一个 web app manifest;浏览器使用你的 <link rel="manifest"> 所指向的那个文件。

我在哪里链接 manifest?

在页面 head 里,用 <link rel="manifest" href="/site.webmanifest">。在每一个应当可安装的页面上放一条 link。

相关术语