site.webmanifest 文件的主要用途是什么?

Jus*_*lix 30 html javascript manifest boilerplate manifest.json

我正在使用 HTML 样板文件,我看到一个名为site.webmanifest. 网上查了资料,不明白怎么用。

是网页开发中的必填文件吗?何时以及为何使用它?我怎么知道什么时候需要使用它?

may*_*513 13

请参阅此处的文档。

它不是必需的文件。您需要使用它,或者您应该在设计可以离线运行的 Web 应用程序时使用它。例如 whatsapp web、todoist webapp、amazon webapp 等。

Web 应用程序清单是称为渐进式 Web 应用程序 (PWA) 的 Web 技术集合的一部分,PWA 是无需应用程序商店即可安装到设备主屏幕的网站。与具有简单主屏幕链接或书签的常规 Web 应用程序不同,PWA 可以提前下载并可以离线工作,也可以使用常规 Web API。

Web 应用程序清单以 JSON 文本文件的形式提供有关 Web 应用程序的信息,这对于下载 Web 应用程序并将其呈现给用户是必要的,类似于本机应用程序(例如,安装在设备的主屏幕上,为用户提供更快的访问和更丰富的体验)。PWA 清单包括其名称、作者、图标、版本、描述和所有必要资源的列表(除其他外)。


小智 7

我是这么理解的

site.webmanifest基本上是一个 JSON 文件, Android设备(Apple 使用)使用它apple-touch-icon来查找一些参数(图标、主题颜色、应用程序的长名称和短名称),以便在移动或平板设备上正确显示您的应用程序。此 JSON 文件的格式应与PWA兼容。

例如,您想将一些网站添加到设备的主屏幕并将其用作常规(预安装的本机)应用程序。如果网站没有 webmanifest 文件,您的设备将无法确定网站图标,因此必须显示丑陋的默认图标。这对用户体验很不利。

一个简化的例子site.webmanifest如下:

{
  "name": "<your app name>",
  "icons": [
    { "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
  ]
}
Run Code Online (Sandbox Code Playgroud)

如果您想深入了解,Andrey Sitnik 有一篇关于 favicon 和 webmanifest 的精彩文章。

所以,

是网页开发中的强制文件吗?

不,没有它,您的网络应用程序也能正常工作。但强烈建议使用它来改善每个设备上的用户体验。

何时以及为何使用它?

它可以让您的 Web 应用程序用作 PWA 并改善用户体验。

我怎么知道什么时候必须使用它?

如果您的应用程序由特定类别的人使用,并且您 100% 确定他们不需要(也不想)使用 PWA 功能,那么您可能不应该关心它。例如,如果您正在构建企业 B2B 管理仪表板或门户,您很可能不需要 PWA。但如果您正在构建一个可供互联网上任何人使用的应用程序(例如 Trello、Notion、GitHub),您应该关心它。