Chrome 54 Beta:媒體平臺等多項內容改進
Chrome 54 Beta版本有幾項進行了優化,包括自定義元素 V1、BroadcastChannel 和媒體平臺改進等。
自定義元素 v1
復雜的用戶界面通常需要大量 HTML。大多數語言可讓開發者在語言原語的基礎上創建自己的組件,以緩解這種繁冗。自定義元素可讓開發者創建自定義的 HTML 標記,以及在 JavaScript 中定義新元素的 API 和行為。這樣可以使用瀏覽器原生的方式構建可重復使用、可互操作的組件。
Chrome 54 支持***的自定義元素 V1 規范,該規范獲得了主要瀏覽器供應商的廣泛認同。Chrome 也會繼續支持 V0 API,直到有足夠的開發者轉移到 V1。
BroadcastChannel
桌面用戶同時打開多個窗口或選項卡是很常見的事。有些網站利用了此行為,例如網頁編輯器可在其自己的選項卡中打開文檔。在歷史上,這些選項卡之間的通信一直很難。BroadcastChannel 是窗口、選項卡、iframe、Web Worker 及服務工作線程之間一種新型的一對多消息傳遞 API。它可讓腳本建立命名通道以在同源瀏覽上下文之間發送消息。
Chrome(Android 版)的媒體平臺改進
對于需要靈活利用整個屏幕的移動設備,媒體在瀏覽體驗中的角色越來越吃重。現在,當屏幕方向改變后,除了用戶手勢,開發者還可以使用 Element.requestFullScreen() 觸發全屏模式。這可以提供像媒體播放器旋轉切換至全屏這樣的體驗。
除了對全屏模式的改進之外,Android 上的 Chrome 現在可對后臺運行的 HTMLVideoElement 保持提供媒體通知,可讓用戶在視頻不可見時繼續播放視頻。開發者可以使用Page Visibility API 檢測后臺視頻播放。
此版本中的其他特性
- 在卸載處理程序中發起的導航將被阻止,任何之前的導航將會繼續。
- CanvasRenderingContext2D 的 imageSmoothingQuality 屬性可讓開發者在縮放時調整分辨率來平衡性能與圖像質量。
- 網站可以使用 Node.getRootNode(options) 獲取指定節點的根。
- 利用 PushSubscription.options,網站可以跟蹤 applicationServerKeys,而無需離線存儲它們。
- Resource Timing API 現在支持 transfer、encoded 和 decoded 大小屬性,可讓開發者測量緩存***率和字節使用量。
- user-select 屬性可讓開發者指定用戶可以選擇哪些元素以及如何選擇。
- Foreign Fetch 和 WebUSB 可供試驗用作起源試驗。
棄用和互操作性的改善
- 為了匹配其他瀏覽器中的行為,嵌入的 YouTube Flash 播放器將被 Chrome 覆蓋,以使用 HTML5 嵌入的樣式,改進 Chrome Desktop 上的性能和安全。
- CacheQueryOptions 現在符合所有 CacheStorage 方法中的規范。
- initTouchEvent 已移除,代之以 新的 TouchEvent() 構造函數。
- SVGZoomEvent 已移除,因為它不再屬于 SVG 2.0 規范。
- SVGSVGElement.currentView、SVGSVGElement.useCurrentView、SVGViewSpec 接口和 SVGSVGElement.viewport 已移除,因為它們不再屬于 SVG 2.0 規范。
- SVGTests.requiredFeatures 屬性已棄用,因為它不再在 SVG 2.0 規范中提供有用的功能。
- SVGElement 現在支持 dataset 屬性。
- KeyEvent.keyIdentifier 字段已移除,代之以 KeyboardEvent.key 字段。
- window.external.IsSearchProviderInstalled() 和 AddSearchProvider() 現已棄用,因為大多數其他瀏覽器不再支持它們。