Web App Manifest

簡介

Web應用程序清單在一個JSON文本文件中提供有關應用程序的信息(如名稱,作者,圖標和描述)。manifest 的目的是將Web應用程序安裝到設備的主屏幕,爲用戶提供更快的訪問和更豐富的體驗。

Web應用程序清單是被稱爲漸進式Web應用程序(PWA)的Web技術集合的一部分, 它們是可以安裝到設備的主屏幕的網絡應用程序,而不需要用戶通過應用商店,伴隨着其他功能, 比如離線可用和接收推送通知。

部署一個 manifest

Web應用程序清單部署在HTML頁面中,在你的文件的頭部的一個鏈接標記:

<link rel="manifest" href="/manifest.json">

manifest 範例

  "name": "HackerWeb",
  "short_name": "HackerWeb",
  "start_url": ".",
  "display": "standalone",
  "background_color": "#fff",
  "description": "A simply readable Hacker News app.",
  "icons": [{
    "src": "images/touch/homescreen48.png",
    "sizes": "48x48",
    "type": "image/png"
  }, {
    "src": "images/touch/homescreen72.png",
    "sizes": "72x72",
    "type": "image/png"
  }, {
    "src": "images/touch/homescreen96.png",
    "sizes": "96x96",
    "type": "image/png"
  }, {
    "src": "images/touch/homescreen144.png",
    "sizes": "144x144",
    "type": "image/png"
  }, {
    "src": "images/touch/homescreen168.png",
    "sizes": "168x168",
    "type": "image/png"
  }, {
    "src": "images/touch/homescreen192.png",
    "sizes": "192x192",
    "type": "image/png"
  }],
  "related_applications": [{
    "platform": "web"
  }, {
    "platform": "play",
    "url": "https://play.google.com/store/apps/details?id=cheeaun.hackerweb"
  }]
}

成員

background_color

爲web應用程序預定義的背景顏色。此值在應用程序樣式表中可以再次聲明。它主要用於在樣式表加載之前,當加載manifest,瀏覽器可以用來繪製web應用程序的背景顏色。在啓動web應用程序和加載應用程序的內容之間創建了一個平滑的過渡。

"background_color": "red"
注意:background_color只是在web應用程序加載時提高用戶體驗,而當web應用程序的樣式表可用時,不能替代作爲背景顏色使用。

description

提供有關Web應用程序的一般描述。

"description": "The app that helps you find the best food in town!"
dir
指定名稱、短名稱和描述成員的主文本方向。與lang一起配置,可以幫助正確顯示右到左文本。

“dir”: “rtl”,
“lang”: “ar”,
“short_name”: “أنا من التطبيق!”
可選值:

ltr (由左到右)
rtl (由右到左)
auto (由瀏覽器自動判斷。
注意:當省略時,默認爲auto

display

定義開發人員對Web應用程序的首選顯示模式。

"display": "standalone"
有效值:

顯示模式 描述 後備顯示模式
fullscreen 全屏顯示, 所有可用的顯示區域都被使用, 並且不顯示狀態欄chrome。 standalone
standalone 讓這個應用看起來像一個獨立的應用程序,包括具有不同的窗口,在應用程序啓動器中擁有自己的圖標等。這個模式中,用戶代理將移除用於控制導航的UI元素,但是可以包括其他UI元素,例如狀態欄。

minimal-ui

minimal-ui 該應用程序將看起來像一個獨立的應用程序,但會有瀏覽器地址欄。 樣式因瀏覽器而異。 browser
browser 該應用程序在傳統的瀏覽器標籤或新窗口中打開,具體實現取決於瀏覽器和平臺。 這是默認的設置。 (None)
Note: 您可以使用顯示模式媒體功能,根據顯示模式選擇性地將CSS應用到您的應用程序。 這可用於在從URL啓動網站和從桌面圖標啓動網站之間提供一致的用戶體驗。

icons

指定可在各種環境中用作應用程序圖標的圖像對象數組。 例如,它們可以用來在其他應用程序列表中表示Web應用程序,或者將Web應用程序與OS的任務切換器和/或系統偏好集成在一起。

"icons": [
  {
    "src": "icon/lowres.webp",
    "sizes": "48x48",
    "type": "image/webp"
  },
  {
    "src": "icon/lowres",
    "sizes": "48x48"
  },
  {
    "src": "icon/hd_hi.ico",
    "sizes": "72x72 96x96 128x128 256x256"
  },
  {
    "src": "icon/hd_hi.svg",
    "sizes": "72x72"
  }
]

圖像對象可能包含以下值:

字段 描述
sizes 包含空格分隔的圖像尺寸的字符串。
src 圖像文件的路徑。 如果src是一個相對URL,則基本URL將是manifest的URL。
type 提示圖像的媒體類型。此字段的目的是允許用戶代理快速忽略不支持的媒體類型的圖像。lang
指定name和short_name成員中的值的主要語言。 該值是包含單個語言標記的字符串。

“lang”: “en-US”

name
爲應用程序提供一個人類可讀的名稱,例如在其他應用程序的列表中或作爲圖標的標籤顯示給用戶。

"name": "Google I/O 2017" 

orientation

定義所有Web應用程序頂級的默認方向 browsing contexts.

​​"orientation": “portrait-primary”
方向可以是以下值之一:

any
natural
landscape
landscape-primary
landscape-secondary
portrait
portrait-primary
portrait-secondary
prefer_related_applications

指定一個布爾值,提示用戶代理向用戶指示指定的相關應用程序(請參見下文)可用,並建議通過Web應用程序。 只有當相關的本地應用程序確實提供了某些Web應用程序無法做到的事情時,才應該使用它。

“prefer_related_applications”: false
Note: 如果省略,默認設置爲 false.

related_applications

指定一個“應用程序對象”數組,代表可由底層平臺安裝或可訪問的本機應用程序 - 例如可通過Google Play Store獲取的原生Android應用程序。 這樣的應用程序旨在替代提供類似或等同功能的Web應用程序 - 就像Web應用程序的本機應用程序版本一樣。

"related_applications": [
  {
    "platform": "play",
    "url": "https://play.google.com/store/apps/details?id=com.example.app1",
    "id": "com.example.app1"
  }, {
    "platform": "itunes",
    "url": "https://itunes.apple.com/app/example-app1/id123456789"
  }]

應用程序對象可能包含以下值:

Member Description
platform 可以找到應用程序的平臺。
url 可以找到應用程序的URL。
id 用於表示指定平臺上的應用程序的ID。scope
定義此Web應用程序的應用程序上下文的導航範圍。 這基本上限制了manifest可以查看的網頁。 如果用戶在範圍之外瀏覽應用程序,則返回到正常的網頁。

如果scope是相對URL,則基本URL將是manifest的URL。

“scope”: “/myapp/”
short_name
爲應用程序提供簡短易讀的名稱。 這是爲了在沒有足夠空間顯示Web應用程序的全名時使用。

“short_name”: “I/O 2017”
start_url
指定用戶從設備啓動應用程序時加載的URL。 如果以相對URL的形式給出,則基本URL將是manifest的URL。

“start_url”: “./?utm_source=web_app_manifest”
theme_color
定義應用程序的默認主題顏色。 這有時會影響操作系統顯示應用程序的方式(例如,在Android的任務切換器上,主題顏色包圍應用程序)。

“theme_color”: “aliceblue”
初始屏幕
在Chrome 47及更高版本中,從主屏幕啓動的Web應用程序將顯示啓動畫面。 這個啓動畫面是使用Web應用程序清單中的屬性自動生成的,具體來說就是:name,background_color以及icons 中距設備最近128dpi的圖標。

Mime類型
Manifests 應使用 application/manifest+json MIME 類型. 但是, 你不必非得這樣做.

注:轉自 https://developer.mozilla.org/zh-CN/docs/Web/Manifest

發佈了33 篇原創文章 · 獲贊 74 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章