protocol_handlers

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

protocol_handlers 成員指定一個物件陣列,這些物件表示此 Web 應用可以註冊和處理的協議。協議處理程式會在作業系統的應用程式首選項中註冊應用程式;該註冊會將特定應用程式與給定的協議方案關聯起來。例如,當在網頁上使用 mailto:// 協議處理程式時,已註冊的電子郵件應用程式就會開啟。

將 Web 應用註冊為協議處理程式後,當用戶從瀏覽器或原生應用中點選具有特定方案(如 mailto://web+music://)的超連結時,已註冊的 PWA 將會開啟並接收該 URL。

協議處理程式物件可能包含以下值:

protocol 實驗性

一個必需的字串,包含要處理的協議;例如:mailtoms-wordweb+jngl

url 實驗性

應用程式 scope 內的一個必需的 HTTPS URL,用於處理該協議。%s 令牌將被以協議處理程式方案開頭的 URL 替換。如果 url 是相對 URL,則基礎 URL 將是清單的 URL。

示例

在此示例中,Web 應用清單宣告該應用應註冊以處理 web+jnglweb+jnglstore 協議。

json
{
  "protocol_handlers": [
    {
      "protocol": "web+jngl",
      "url": "/lookup?type=%s"
    },
    {
      "protocol": "web+jnglstore",
      "url": "/shop?for=%s"
    }
  ]
}

開發者可以在 manifest.json 檔案中新增一個欄位來宣告 Web 應用可以處理哪些協議。如上例所示,鍵名為 protocol_handlers,其中包含一個協議處理程式宣告物件陣列。

將應用程式註冊為處理 URL 方案是作業系統相關的。這種關聯通常在應用程式安裝期間完成,但也可以在已安裝的應用程式之後進行。

規範

規範
清單孵化
# protocol_handlers-member

瀏覽器相容性