上周發布的 Chrome 53 帶來了一系列實驗性規范的支持,如Shadow DOM,它為復雜網頁的開發提供便利。同時,針對移動平臺,Chrome 53也提供了PaymentRequest接口、自定義通知徽章等功能。
Shadow DOM V1
HTML、CSS和JavaScript是非常強大的開發語言,但是當代碼量變大時,維護難度會大大增加。另外,網站嵌入的第三方內容而引入的樣式,不會影響到其他的部分。Chrome 53支持Shadow DOM V1,該規范能夠將元素的樣式和子DOM節點單獨封裝,與主文檔樹相互獨立。這樣能夠提升大型或富客戶端網站的可維護性。Shadow DOM V1版本規范和V0版本有顯著的不同,該版本已經被各大主流瀏覽器廠商廣泛認可。Chrome將同時支持兩個版本的API,直到有足夠數量的開發者開始使用V1版本。ShadowRoot的行為由其創建時所調用的API決定(V0版本使用Element.createShadowRoot()而V1版本使用Element.attachShadow()創建)。
PaymentRequest API
在網頁上完成支付操作對用戶來說是個冗長的流程,這樣會降低網站支付轉化率。雖然自動填充可以讓用戶輸入信息更加方便,但是在移動設備上高效數據輸入仍然是一個挑戰。PaymentRequest接口允許通過信用卡或者Android Pay在網頁上快速、無縫和安全的支付。它還能夠在無需輸入的情況下,讓用戶提供賬單地址、物流信息和支付信息等內容。PaymentRequest接口在Android版Chrome上可用,對更多平臺支持即將推出。
Payment Request API演示
Android版Chrome自動播放靜音視頻
視頻是網站和用戶交互非常好的方式,但是視頻不合時宜的播放會令人不快。這種場景在移動設備上更為常見,因為用戶可能處于不能開啟音頻的環境。Android版Chrome允許靜音的視頻在沒有用戶交互的情況下開始播放。如果視頻被標記為靜音,且有autoplay屬性,Chrome將會在視頻對用戶可見時開始播放。開發者也可以通過腳本在無需用戶交互的情況下播放靜音視頻。靜音視頻在用戶操作前播放音頻將會被自動暫停。
其他新增特性
網站發送通知給Android 6.0(Marshmallow)或以后版本的Android設備,現在可以提供顯示在狀態欄的徽章,以代替Chrome logo。 Notification對象提供了讀取函數,以讀取通知的操作按鈕和振動模式。 對于用戶設置了“檢測和運行重要插件內容”之后,跨域插件內容中包含小于5x5像素的圖片將不再加載。 allow-presentation的sandbox標簽允許網站控制iframe是否可以展現給外部設備。 input元素上的pattern屬性現在可以使用unicode標記,以提升語法檢查和其他正則表達式工效。 如果祖先元素透明度小于1,3D定位元素將會被扁平化。 為了防止視覺假象,所有內容的變換縮放改動都將會重新光柵化,除非該元素包含will-change: transformCSS屬性。 低通和高通雙二階濾波器現在支持更多濾波特性。 --webkit-filter目前是無前綴屬性filter的別名,二者行為完全相同,不再有獨立的行為。 --webkit-user-select現在支持all屬性,它強制選取包含完整的元素及其后繼元素。 text-size-adjust屬性允許網站控制在移動設備上字體大小是否自動縮放。棄用和互操作性的改進
通過腳本生成的事件將不再觸發默認行為,以提升規范合規性和瀏覽器互操作性。 HTTP/0.9已經被廢棄,取而代之的是HTTP/1.0,它增加了對響應頭的支持。 出于安全考慮,TLS的Diffie-Hellman加密算法已經被移除,該算法已經在Chrome 51版本中被棄用。 TextEncoder API不再支持參數,而是始終使用utf-8編碼。 由于最近安全問題,賽門鐵克公司頒發或者證書鏈中包含賽門鐵克公司的新證書,在Chrome中將不再被授信,除非新證書包含了證書透明度(Certificate Transparency)信息。