Chrome 57 Beta 新特性
除非另外注明,否則,下面介紹的更改均適用于*** Chrome Beta 渠道版(Android、Chrome 操作系統(tǒng)、Linux、Mac 和 Windows)。
CSS 網(wǎng)格布局
人們使用從大型 LCD 電視到小型表盤等各種尺寸屏幕訪問網(wǎng)站的情況越來越多。在過去,支持所有這些屏幕尺寸需要復(fù)雜的標(biāo)記和 CSS 組合,讓代碼變得難以維護(hù)。為使開發(fā)者能夠更精細(xì)地控制元素的縮放以適合當(dāng)前屏幕尺寸, CSS 網(wǎng)格布局現(xiàn)已推出。
CSS 網(wǎng)格支持二維基于網(wǎng)格的布局系統(tǒng),該系統(tǒng)專門針對(duì)自適應(yīng)用戶界面設(shè)計(jì)進(jìn)行了優(yōu)化。可指定網(wǎng)格內(nèi)的元素跨多行或多列。還可以給定位在 CSS 網(wǎng)格中的元素命名,這使布局代碼更容易理解。
▲ CSS 網(wǎng)格允許開發(fā)者將元素置于網(wǎng)格上的任意位置,并可全面控制元素流、尺寸調(diào)整行為和自適應(yīng)性。
改進(jìn)了 Add to Home Screen
從早期版本的 Chrome(Android 版)起,用戶就可以將網(wǎng)站添加到主屏幕,實(shí)現(xiàn)快速而又方便的訪問。該功能利用 Android 快捷方式添加圖標(biāo),這意味著網(wǎng)絡(luò)應(yīng)用在整個(gè) Android 系統(tǒng)內(nèi)的呈現(xiàn)方式不同于安裝的本機(jī)應(yīng)用。
從此版本開始,當(dāng)用戶將一個(gè) Progressive Web App 添加到其主屏幕時(shí),Chrome 將其集成到 Android 中時(shí)會(huì)大幅提高集成深度。例如,Progressive Web App 現(xiàn)在會(huì)出現(xiàn)在啟動(dòng)器的應(yīng)用抽屜式導(dǎo)航欄部分以及 Android 設(shè)置中,并且可以接收來自其他應(yīng)用傳入的 intent。長(zhǎng)按其通知還會(huì)顯示標(biāo)準(zhǔn) Android 通知管理控件而非適用于 Chrome 的通知管理控件。
Media Session API
媒體消費(fèi)是移動(dòng)網(wǎng)絡(luò)最常見的用途之一。在 Chrome(Android 版)中,開發(fā)者可以利用新的 Media Session API,使用媒體內(nèi)容自定義鎖定屏幕 UI 和通知。通過向?yàn)g覽器提供有關(guān)所播放內(nèi)容的元數(shù)據(jù),開發(fā)者可以創(chuàng)建豐富的鎖定屏幕消息,在其中加入名稱、音樂人、專輯名稱和封面等信息。此外,網(wǎng)站現(xiàn)在還可以響應(yīng)用戶對(duì)通知本身執(zhí)行的操作(例如搜尋或跳過)。
此版本中的其他特性
- 當(dāng)一段視頻在 Android 設(shè)備上進(jìn)入全屏模式時(shí),Chrome 現(xiàn)在會(huì)自動(dòng)根據(jù)視頻的縱橫比鎖定屏幕方向。
- 現(xiàn)在,如果網(wǎng)站使用連續(xù)的 setTimeout(),在使用循環(huán)來推動(dòng)視圖外幀動(dòng)畫時(shí)將受到限制,從而可為用戶改善性能。
- Fetch API Response 類現(xiàn)在支持 .redirected 屬性,以幫助網(wǎng)絡(luò)開發(fā)者避免不可信響應(yīng)以及降低開放重定向器的風(fēng)險(xiǎn)。
- 新增的 padStart 和 padEnd 格式設(shè)置工具可實(shí)現(xiàn)文本填充,可以簡(jiǎn)化調(diào)整控制臺(tái)輸出或打印固定位數(shù)數(shù)字之類的任務(wù)。
- 服務(wù)工作線程導(dǎo)航預(yù)載現(xiàn)在以來源試用版形式提供,讓開發(fā)者能夠并行處理主要資源網(wǎng)絡(luò)請(qǐng)求與服務(wù)工作線程啟動(dòng)。
- Payment Request API 可在 iframe 內(nèi)提供,通過添加 allowpaymentrequest 屬性來實(shí)現(xiàn)。
- PaymentMethodData 現(xiàn)在支持 basic-card,這樣一來,開發(fā)者不必使用不同數(shù)據(jù)類型,只需通過單個(gè)方法標(biāo)識(shí)符便可引用所有卡類型。
- 為簡(jiǎn)化從 HTTP 到 HTTPS 的遷移,現(xiàn)在存儲(chǔ)的 HTTP 表單憑據(jù)將轉(zhuǎn)移至 HTTPS 版本的網(wǎng)站,Credential Management API 現(xiàn)在支持從匹配的子域名填充憑據(jù)。
- caret-color 屬性讓開發(fā)者可以指定文本輸入光標(biāo)的顏色。
- 為與其他 on
屬性保持一致,ongotpointercapture 和 onlostpointercapture 現(xiàn)已成為 GlobalEventHandlers mixin 的組成部分。 - 現(xiàn)已提供對(duì) text-decoration-skip: ink 的支持,以使下劃線跳過下伸部分,即字母中延伸到文本基線之下的部分。
- 新的 text-decoration 屬性現(xiàn)已推出,讓開發(fā)者可以指定線條顏色和線型等視覺效果。
- PresentationRequest 構(gòu)造函數(shù)經(jīng)修改后可通過 sequence
接受多個(gè)網(wǎng)址,這是對(duì)只能接受單個(gè)網(wǎng)址的現(xiàn)有構(gòu)造函數(shù)的補(bǔ)充。 - 新增的 AudioContext.getOutputTimestamp() 方法讓開發(fā)者能夠?qū)?DOMHighResTimeStamp 與 AudioContext.currentTime 的值同步。
- AudioBufferSourceNode、OscillatorNode 和 ConstantSourceNode 現(xiàn)在從 AudioScheduledSourceNode 繼承,從而實(shí)現(xiàn)了功能合并。
- 新增的 cancelAndHoldAtTime 函數(shù)可以取消未來的 AudioParam 事件,前提是這些事件的時(shí)間大于或等于 cancelTime,這樣一來,開發(fā)者便可直接保留計(jì)劃時(shí)間的值。
- 開發(fā)者現(xiàn)在可以構(gòu)建 WebAudio-specific 事件,例如 OfflineAudioCompletionEvent 和 AudioProcessEvent。
- 為提高用戶安全性,Chrome 的 XSS Auditor 現(xiàn)在默認(rèn)情況下阻止整個(gè)可疑頁面,而不是有選擇地濾除頁面上可疑的反射 XSS。
棄用和互操作性的改善
- 已取消對(duì)
元素的支持,從而使它不再顯示任何控件,也不提交表單元素?cái)?shù)據(jù),以便與其他瀏覽器保持一致。 - 正如之前宣布的那樣,本地可信 SHA-1 證書現(xiàn)在會(huì)引發(fā)證書錯(cuò)誤頁面,除非設(shè)置了 EnableSha1ForLocalAnchors 企業(yè)政策。
- fieldset.elements 現(xiàn)在會(huì)返回 HTMLCollection 而非 HTMLFormControlsCollection,以便改善與規(guī)范的符合性。
- 移除了
元素,但仍可通過 cursor CSS 屬性設(shè)置光標(biāo)圖標(biāo)。 - 從 HTMLEmbedElement 和 HTMLObjectElement 中移除了一個(gè)舊版調(diào)用方,因此現(xiàn)在接口會(huì)引發(fā)異常,而不是讓系統(tǒng)以函數(shù)形式調(diào)用其實(shí)例。
- usemap 屬性現(xiàn)在要求匹配時(shí)區(qū)分大小寫。
- 所有 -webkit- 前綴的 IndexedDB 全局別名都已移除,這是它們?cè)?M38 中被棄用的后續(xù)措施。
- 自定義消息事件和 client.postMessage(message, transfer) 在服務(wù)工作線程中創(chuàng)建的事件現(xiàn)在使用 MessageEvent 來替代 ServiceWorkerMessageEvent,以遵循 HTML MessageEvent 規(guī)范擴(kuò)展。
- 對(duì) webkitClearResourceTimings()、webkitSetResourceTimingBufferSize() 和 onwebkitresourcetimingbufferfull 的支持已從 Performance 接口中移除,由 clearResourceTimings()、setResourceTimingBufferSize() 和 onresourcetimingbufferfull 取代。
- 下列 -internal CSS 選擇器已棄用:-internal-media-controls-cast-button、-internal-media-controls-overlay-cast-button 以及所有 -internal-media-controls-text-track-list 選擇器。
- 已取消對(duì)過時(shí) API webkitCancelRequestAnimationFrame 的支持,由 cancelAnimationFrame 取代。
- 在 Android 上,默認(rèn)情況下 wordWrap: break-word 和 -webkit-line-break: after-white-space 將不再于 contenteditable 容器上進(jìn)行設(shè)置,以保持瀏覽器之間的一致性。
- webkit 前綴已從 AudioContext 和 OfflineAudioContext 中移除。
【本文是51CTO專欄機(jī)構(gòu)“谷歌開發(fā)者”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者(微信公眾號(hào):Google_Developers)】




























