Chrome 96 版的新功能

以下是一些注意事項:

我是 Pete LePage,終於可以在攝影棚拍攝影片了,讓我們一起來看看 Chrome 96 為開發人員帶來哪些新功能。

PWA 的資訊清單 id

使用者安裝 PWA 時,瀏覽器需要有方法來識別 PWA。不過,直到最近,網頁應用程式資訊清單規格才指定如何識別 PWA,讓瀏覽器自行決定,進而導致不同的實作方式。在某些瀏覽器中,會使用 start_url,在其他瀏覽器中則會使用資訊清單檔案的路徑。

因此,如果要變更這兩個欄位,就必須避免破壞安裝體驗。現已提供新的選用 id 屬性,可讓您明確定義 PWA 所用的 ID。

id 屬性新增至資訊清單,即可移除對 start_url 或資訊清單位置的依附性,並讓這些欄位更新。

{
  ...
  id: "/?homescreen=1",
  start_url: "/?homescreen=1",
  ...
}

id 屬性支援功能已在 Chrome 96 開始支援的電腦版 Chromium 瀏覽器推出。行動裝置支援功能 (目前使用資訊清單網址做為專屬 ID) 預計將於 2022 年上半年推出。

開發人員工具顯示運算的應用程式 ID

如果您已在實際工作環境中發布 PWA,並想在資訊清單中新增 id,就必須使用瀏覽器指派的 ID。您可以在「開發人員工具」的「應用程式」面板的「資訊清單」窗格中找到 id

對於全新的 PWA,您可以將 id 設為任何字串值,但請注意,日後無法變更,因此請謹慎選擇。

{
  ...
  id: "SquooshApp",
  start_url: "/?homescreen=1",
  ...
}

詳情請參閱「使用網頁應用程式資訊清單 ID 屬性來獨立識別 PWA」。

PWA 的網址通訊協定處理常式

網路應用程式可以使用 navigator.registerProtocolHandler() 註冊為通訊協定處理常式。例如,Gmail 可以註冊 mailto 通訊協定。接著,當使用者點選含有 mailto: 前置字串的連結時,系統就會開啟 Gmail,讓使用者輕鬆傳送電子郵件。

自 Chrome 96 版起,PWA 可在安裝過程中註冊為通訊協定處理常式。如要為 PWA 執行這項操作,請在網路應用程式資訊清單中新增 protocol_handlers 屬性,指定要處理的 protocol,以及點選時應開啟的 url

  ...
  "protocol_handlers": [
    {
      "protocol": "web+tea",
      "url": "/tea?type=%s"
    },
    {
      "protocol": "web+coffee",
      "url": "/coffee?type=%s"
    }
  ]
}

這裡有一些限制,您無法註冊任何通訊協定,因此請參閱「PWA 的網址通訊協定處理常式註冊」一文,瞭解完整詳細資訊,以及如何使用 web+ 語法建立自己的通訊協定!

優先順序提示 (來源試用版)

當瀏覽器剖析網頁並開始發現及下載圖片、指令碼或 CSS 等資源時,會為這些資源指派擷取優先順序,以便盡可能最佳化網頁載入作業。瀏覽器在指派優先順序方面表現相當出色,但在某些情況下可能並非最佳做法。

優先順序提示是實驗功能,自 Chrome 96 版起提供來源試用計畫,可協助最佳化 Core Web Vitals。importance 屬性可讓您指定 CSS、字型、指令碼、圖片和 iframe 等資源類型的優先順序。

<!-- We don't want a high priority for this above-the-fold image -->
<img src="/not-important.svg" importance="low">

<!-- Initiate an early fetch for a resource, but de-prioritize it -->
<link rel="preload" href="/script.js" as="script" importance="low">

<script>
  fetch('https://example.com/', {importance: 'high'})
      .then(data => {
        // Trigger a high priority fetch
      });
</script>

例如,這是 Google 航班/機票頁面。該背景圖片就是最大內容繪製 (LCP)。

Google 航班/機票的螢幕截圖,背景圖片較大

讓我們看看在有和沒有優先順序提示的情況下,這項功能載入的情形。將背景圖片的優先順序設為 high 後,LCP 從 2.6 秒降至 1.9 秒。

請參閱「使用 Fetch Priority API 最佳化資源載入」一文,瞭解所有詳細資訊、如何註冊原始試用版,以及一些實例,瞭解如何利用這項 API 改善算繪效能。

在使用者代理程式字串中模擬 Chrome 100

我們將在明年初推出 Chrome 100,屆時版本號碼將是位數。請檢查所有檢查版本號碼或剖析通用 Analytics 字串的程式碼,確保這些程式碼可處理三位數。

從 Chrome 96 版開始,有一個新的標記 #force-major-version-to-100 會將目前的版本號碼變更為 100,讓您確保一切運作正常。

Chrome 旗標頁面:強調新的 #force-major-version-to-100 選項

詳情請參閱「在 User-Agent 字串中強制將 Chrome 主要版本設為 100」。

Chrome 開發人員高峰會

這就是 Chrome 開發人員高峰會的全部內容。所有影片和內容皆可在線上取得。請造訪 Chrome 開發人員高峰會網站。如果您錯過了主題演講或直播,請前往 Chrome 開發人員 YouTube 頻道查看 CDS 播放清單

還有更多獎品等著您!

當然,還有許多其他功能。

  • 返回、前進快取 (或 bfcache) 現已在穩定版中提供,讓 Chrome 與 Firefox 和 Safari 保持一致。

延伸閱讀

這份文件僅涵蓋部分重點。請參閱下方連結,瞭解 Chrome 96 的其他異動。

訂閱

如要隨時掌握最新消息,請訂閱 Chrome 開發人員 YouTube 頻道,這樣一來,我們發布新影片時,你就會收到電子郵件通知。

我是 Pete LePage,Chrome 97 一推出,我就會在這裡告訴你 Chrome 有哪些新功能!