以下是 Chrome 124 的亮點:
- 有兩個新的 API 可讓您透過 JavaScript 使用宣告式 shadow DOM。
- 您可以使用Web Sockets 中的串流。
- View Transitions 稍微改善。
- 還有許多其他功能。
想瞭解完整內容嗎?請參閱 Chrome 124 版本資訊。
在 JavaScript 中使用宣告式 Shadow DOM
有兩個新的 API 可讓您從 JavaScript 使用宣告式 shadow DOM。
setHTMLUnsafe()
與 innerHTML
類似,可讓您將元素的內部 HTML 設為所提供的字串。當您有含有宣告式 shadow DOM 的 HTML 時,這項功能就會派上用場,例如以下這段 HTML。
<my-custom-element>
<template shadowrootmode="open">
<style>
:host {
display: block;
color: yellow;
}
</style>
Hello, <slot></slot>
</template>
</my-custom-element>
如果您只使用 innerHTML
,瀏覽器就無法正確剖析,且沒有陰影 DOM。但使用 setHTMLUnsafe()
時,系統會建立 Shadow DOM,並按照預期剖析元素。
const section = document.createElement("section");
section.setHTMLUnsafe(`<my-custom-element>...</my-custom-element>`);
另一個 API 是 parseHTMLUnsafe()
,其運作方式與 DOMParser.parseFromString()
類似。
這兩個 API 都屬於不安全,也就是說,它們不會執行任何輸入內容的清理作業。因此,請務必確保餵食的食物安全無虞。我們預計在即將推出的版本中,提供可對輸入內容進行消毒的版本。
最後,這兩個 API 已在最新版的 Firefox 和 Safari 中支援!
WebSocket Stream API
WebSockets 是一種絕佳的方式,可在使用者的瀏覽器和伺服器之間來回傳送資料,而無須仰賴輪詢。這對於聊天應用程式等應用程式而言非常實用,因為您希望在收到資訊後立即處理。
但如果資料傳送速度太快,您無法處理該怎麼辦?
這就是所謂的回壓,可能會讓您大傷腦筋。 很抱歉,WebSocket API 沒有適當的方式來處理回壓。
WebSocket Stream API 可讓您使用串流和 WebSocket,也就是說,您可以免費套用回壓。
首先建立新的 WebSocketStream
,並將 WebSocket 伺服器的網址傳遞給該函式。
const wss = new WebSocketStream(WSS_URL);
const {readable, writable} = await wss.opened;
const reader = readable.getReader();
const writer = writable.getWriter();
while (true) {
const {value, done} = await reader.read();
if (done) {
break;
}
const result = await process(value);
await writer.write(result);
}
接著,您等待連線開啟,這會產生 ReadableStream
和 WritableStream
。呼叫 ReadableStream.getReader()
方法後,您會取得 ReadableStreamDefaultReader
,然後可以 read()
資料,直到串流完成為止。
如要寫入資料,請呼叫 WritableStream.getWriter()
方法,這會為您提供 WritableStreamDefaultWriter
,您可以將資料 write()
到該方法。
改善檢視轉場效果
我很期待 View Transitions 功能,Chrome 124 中也有兩項新功能,可讓檢視畫面轉場效果更簡單。
當導覽會將文件替換為新文件時,系統會在文件的視窗物件上觸發 pageswap
事件。
document.addEventListener("pageswap", event => {
if (!event.viewTransition) {
return;
}
});
以及文件算繪阻斷功能,可在解析重要內容前阻斷文件算繪,確保所有瀏覽器都能一致地進行第一次繪製。
還有更多獎品等著您!
當然,還有許多其他功能。
disallowReturnToOpener
會向瀏覽器提示,在分割畫面視窗中不應顯示可讓使用者返回開啟分頁的按鈕。鍵盤可聚焦的捲動容器可透過使用序列焦點導覽,讓捲動容器可聚焦,進而提升無障礙性。
通用安裝功能可讓使用者安裝任何網頁,即使該網頁不符合目前的 PWA 標準也沒關係。
延伸閱讀
這份報告僅涵蓋部分重點。如要瞭解 Chrome 124 的其他變更,請參閱以下連結。
- Chrome 124 版本資訊
- Chrome 開發人員工具 (124) 的新功能
- Chrome 124 的 ChromeStatus.com 更新
- Chromium 來源存放區變更清單
- Chrome 發布時程表
訂閱
如要隨時掌握最新消息,請訂閱 Chrome 開發人員 YouTube 頻道,這樣一來,我們發布新影片時,你就會收到電子郵件通知。
我是 Pete LePage,Chrome 125 一推出,我們就會在這裡告訴你 Chrome 的新功能!