launch_handler

可用性有限

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

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

launch_handler 成員定義了控制 Web 應用啟動的值。目前它只能包含一個值:client_mode,用於指定應用啟動時應該在哪種上下文中載入。例如,是在已有的包含該應用例項的 Web 應用客戶端中,還是在一個新的 Web 應用客戶端中。這為將來定義更多 launch_handler 值留下了空間。

launch_handler 物件可能包含以下值:

client_mode 實驗性

一個字串,或逗號分隔的字串陣列,用於指定應用啟動時應該在哪種上下文中載入。如果提供的是字串陣列,則使用第一個有效值。可能的值有:

auto

使用者代理決定在平臺上載入應用的哪種上下文最合適。例如,在移動裝置上,navigate-existing 可能更合適,因為單個應用例項很常見,而在桌面環境中,navigate-new 可能更合適。如果提供的所有值都無效,則使用此預設值。

focus-existing

如果應用已在 Web 應用客戶端中載入,則將其置於焦點,但不導航到啟動目標 URL。目標 URL 可透過 Window.launchQueue 獲得,以便實現自定義啟動導航處理。如果應用尚未在 Web 應用客戶端中載入,則改為使用 navigate-new 行為。

如果應用已在 Web 應用客戶端中載入,則將其置於焦點並導航到指定的啟動目標 URL。目標 URL 可透過 Window.launchQueue 獲得,以便實現額外的自定義啟動導航處理。如果應用尚未在 Web 應用客戶端中載入,則改為使用 navigate-new 行為。

應用在新 Web 應用客戶端中載入。目標 URL 可透過 Window.launchQueue 獲得,以便實現額外的自定義啟動導航處理。

示例

json
{
  "launch_handler": {
    "client_mode": "focus-existing"
  }
}
json
{
  "launch_handler": {
    "client_mode": ["focus-existing", "auto"]
  }
}

規範

規範
Web 應用啟動處理程式 API
# launch_handler-member

瀏覽器相容性

另見