在幾乎所有版本的 Chrome 中,我們都看到產品、效能和網路平台功能的更新和改善幅度相當顯著。本文將說明 Chrome 63 中部分已淘汰和移除的功能,該版本自 10 月 26 日起為 Beta 版。如要進一步瞭解 Chrome 此版本和先前版本淘汰及移除的功能,請前往淘汰和移除頁面。這份清單內容隨時可能有所變動。
具有 Promise 類型的介面屬性不再擲回例外
傳回承諾的介面屬性和函式,在錯誤狀況擲回例外狀況或拒絕的情況下,會出現不一致的情形,這會叫用承諾的 catch()
區塊。目前版本的 IDL 規格要求所有傳回承諾的屬性和函式拒絕,而非擲回例外狀況。
舉例來說,先前如果在錯誤時間呼叫 MediaKeySession.closed
,系統會擲回 TypeError
來表示非法叫用。隨著這項異動,這類呼叫現在必須實作 catch()
區塊。
這項異動可讓 Chrome 符合規格。這項變更已針對函式實施。
Chromestatus Tracker | Chromium Bug
移除 getMatchedCSSRules()
getMatchedCSSRules() 方法是 WebKit 專屬的 API,可取得套用至特定元素的所有樣式規則清單。Webkit 有要移除的公開錯誤。因此,這項功能已在 Chrome 63 版中移除。需要這項功能的開發人員可以參考這個 Stackoverflow 文章
Intent to Remove | Chromestatus Tracker | Chromium Bug
移除「negotiate」的 RTCRtcpMuxPolicy
Chrome 會使用 rtcpMuxPolicy
指定使用 RTP/RTCP 多工處理的偏好政策。在 Chrome 57 中,我們將預設的 rtcpMuxPolicy
變更為「require」,並淘汰「negotiate」,原因如下:
- 未經多工處理的 RTCP 會使用額外的網路資源。
- 移除「negotiate」可簡化 API 介面,因為「RtpSender」/「RtpReceiver」只會有單一傳輸。
在 Chrome 63 中,「negotiate」已遭到移除。