PWA 通过 manifest 文件实现自定义应用图标

阅读时长 9 分钟读完

PWA(Progressive Web App) 是一种新型的 Web 应用程序,它能够为用户提供和原生应用类似的体验,包括离线访问、消息推送、本地存储等功能。而对于用户来说,一个应用的图标往往是第一眼印象。因此,PWA 允许开发者通过 manifest 文件自定义应用图标,使应用更具个性化和可识别性。

本文将深入介绍如何通过 manifest 文件设置 PWA 应用图标,并附带实例代码和效果演示。

一、什么是 Manifest 文件

Manifest 是一个 JSON 格式的配置文件,包含了许多与应用相关的属性,比如应用名称、图标、主题色等。它允许开发者定义 PWA 应用的整体外观和行为,使得 Web 应用更具渲染性和交互性。

Manifest 文件需要我们在 HTML 中显式声明,通过 <link> 标签引入,例如下面的例子:

Manifest 文件名通常为 manifest.json,放置在根目录下。文件内容包含以下属性:

  • name:应用名称
  • short_name:应用短名称,显示在应用启动器上
  • start_url:应用打开时加载的 URL
  • display:应用启动器显示的模式(可选值为:fullscreenstandaloneminimal-uibrowser
  • background_color:应用启动前的背景色
  • theme_color:应用主题色
  • icons:应用图标列表

其中,icons 属性是 PWA 应用图标的关键所在。

二、通过 Manifest 自定义应用图标

icons 属性是一个数组,每个元素表示一个应用图标的配置信息,包括以下属性:

  • src:图标文件的 URL 路径
  • sizes:图标尺寸,多个大小以空格分隔(例如:"32x32 64x64")
  • type:图标文件的 MIME 类型

我们来看一个完整的示例代码:

-- -------------------- ---- -------
-
  ------- --- --- -----
  ------------- --- -----
  ------------ ----
  ---------- -------------
  ------------------- ----------
  -------------- ----------
  -------- -
    -
      ------ ------------------------
      -------- --------
      ------- -----------
    --
    -
      ------ ------------------------
      -------- --------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    -
  -
-

上面代码中,我们定义了应用名称、短名称、启动 URL、显示模式、背景色、主题色以及 8 种不同尺寸的图标。每个图标都需要提供 srcsizestype 三个属性。

当用户将 PWA 应用添加到主屏幕后,应用图标将使用 short_nameicons 属性中最适合尺寸的一个图标。同时,Web App Manifest 还允许我们设置以下图标:

  • apple-touch-icon:iOS 主屏幕和 Web Clip 的图标
  • apple-touch-startup-image:iOS 启动画面
  • mstile-70x70:Windows 8.1 下磁贴平铺使用的小图标
  • mstile-150x150:Windows 8.1 下磁贴平铺使用的中等图标
  • mstile-310x150:Windows 8.1 下磁贴平铺使用的宽屏图标
  • mstile-310x310:Windows 8.1 下磁贴平铺使用的大图标

这些图标的配置方式与上面的示例代码类似,在 manifest.json 中定义即可。

三、示例代码和效果演示

我们来看一个完整的示例代码,实现一个 PWA 应用并自定义应用图标。代码包括一个简单的计数器页面和一些相关的文件和目录。

-- -------------------- ---- -------
---- ---------- ---
--------- -----
------
  ------
    --------- --- -----------
    ----- --------------- ---------------------------- -------------------
    ----- ------------------ ------------------
    ----- -------------- ----------------------
    ----- ------------- ----- --------------------
    -------
      ---- -
        ------------ ------ -----------
        ---------- -----
        ----------- -------
      -
      -- -
        ----------- -----
      -
      ------ -
        ---------- -----
        ------- -----
        -------- ---- -----
        ----------------- --------
        ------ -----
        ------- -----
        -------------- ----
        ------- --------
      -
    --------
  -------
  ------
    ------------ ----- ------------------------
    ------- ------------ ----------
    ------- -------------------------
  -------
-------
-- -------------------- ---- -------
-- -------------
-
  ------- --- --- -----
  ------------- --- -----
  ------------ ----
  ---------- -------------
  ------------------- ----------
  -------------- ----------
  -------- -
    -
      ------ ------------------------
      -------- --------
      ------- -----------
    --
    -
      ------ ------------------------
      -------- --------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    --
    -
      ------ --------------------------
      -------- ----------
      ------- -----------
    -
  -
-

生效效果演示:

四、总结

自定义应用图标是 PWA 应用中重要的一个方面,通过设置 Web App Manifest 的 icons 属性,我们可以自由配置应用的图标集合。除了图标之外,Web App Manifest 还提供了其他易于配置的属性,例如应用名称、显示模式和主题色等。这些功能让开发者能够更好地为用户提供高质量的 Web 体验,并且使得 PWA 应用更具个性化和可识别性。

希望通过本文的介绍,读者们能够更好地了解 PWA 应用图标的设置方法,并能在自己的应用中灵活使用。同时,我们也要注意适配不同屏幕尺寸的图标大小,以便在各种设备上获得最佳效果。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645501ad968c7c53b08b026b

纠错
反馈