Chrome 81穩(wěn)定版是谷歌官方正式發(fā)布的最新版chrome瀏覽器,此次發(fā)布的正式版chrome 81版本最大的變化是支持Payment Request API,此外還進(jìn)行了穩(wěn)定性改進(jìn)以及問(wèn)題修復(fù)。Chrome 81穩(wěn)定版在Android平臺(tái)上支持使用包含MP4(ISOBMFF)容器的VP9開源免稅的視頻編碼格式,此外還支持全新VP9string格式。
cherome 81穩(wěn)定版介紹:
Chrome 81版本之后,Google不再使用定制的fetch()函數(shù)來(lái)訪問(wèn)存儲(chǔ)的密碼,而是讓開發(fā)者使用Credential Management API進(jìn)行更輕松的管理。此外,新版Chrome支持CSS @font-face描述符,統(tǒng)一的CSS font-display屬性以及全新的Paint Timing API。
Chrome 81穩(wěn)定版共計(jì)修復(fù)了40處安全漏洞,包含IndexedDB, V8和PPAPI的 after free bugs,Blink引擎中UIspoofing,擴(kuò)展程序的類型混亂,PDFium和PPAPI的 out-of-bounds write問(wèn)題等等。
與此同時(shí),Chrome瀏覽器開發(fā)版也迎來(lái)更新,版本號(hào)升級(jí)至61.0.3163.20(平臺(tái)版本:9815.13.0) ,針對(duì)大部分Chrome OS設(shè)備推出,包括問(wèn)題修復(fù)、安全升級(jí)以及性能提升。
Chrome 81穩(wěn)定版特色:
Paint Timing API
盡管并沒有公認(rèn)的標(biāo)準(zhǔn)能夠在所有情況下完美地反映頁(yè)面的加載時(shí)間,F(xiàn)irst Paint and First Contentful Paint 仍然為衡量頁(yè)面加載期間關(guān)鍵的用戶參與環(huán)節(jié)提供了極具價(jià)值的數(shù)據(jù)。為了讓開發(fā)者更好地洞察網(wǎng)站的加載性能,全新的 Paint Timing API 公開了捕獲 First Paint and First Contentful Paint 的指標(biāo)。
▲ Google.com 的 First Paint and First Contentful Paint 截圖,摘自 Google I/O 2017 上發(fā)布的《網(wǎng)絡(luò)性能:挖掘最影響用戶體驗(yàn)的指標(biāo)》(Web Performance: Leveraging the Metrics that Most Affect User Experience)
CSS font-display
可下載的網(wǎng)頁(yè)字體經(jīng)常用于創(chuàng)建視覺效果更豐富多彩的網(wǎng)頁(yè)體驗(yàn)。歷史上,為了確保視覺正確性,Chrome 一直延遲渲染文本,直至有指定的字體可用。然而,在網(wǎng)絡(luò)連接不佳的情況下,下載字體可能需要幾秒鐘的時(shí)間,嚴(yán)重延遲了用戶查看內(nèi)容的時(shí)間。現(xiàn)在,Chrome 支持 CSS @font-face 描述符和相應(yīng)的 font-display 屬性,允許開發(fā)者指定 Chrome 在下載字體時(shí)如何以及何時(shí)顯示文本內(nèi)容。
Credential Management API 的改進(jìn)
為響應(yīng)廣大開發(fā)者的反饋,也為了使 Credential Management API 更易于用于所有網(wǎng)站,現(xiàn)在已不再需要自定義 fetch() 來(lái)訪問(wèn)存儲(chǔ)的密碼。從 Chrome 81 開始,用戶的密碼現(xiàn)在將直接作為 PasswordCredential 的一部分返回。
此外,為了更好地呼應(yīng)我們?cè)诰W(wǎng)絡(luò)身份驗(yàn)證工作組中所做的工作,我們還做出了一系列更改。這包括棄用 requireUserMediation,已將其重命名為 preventSilentAccess。
此版本中的其他特性
現(xiàn)在,桌面版的 Chrome 也支持 Payment Request API。
現(xiàn)在,網(wǎng)站可以通過(guò)使用 Payment Request API 的原生 Android 支付應(yīng)用來(lái)收款。
現(xiàn)在支持對(duì)象的 Rest 和 Spread 屬性,這簡(jiǎn)化了對(duì)象的合并和淺度克隆以及各種不可變對(duì)象圖案的實(shí)現(xiàn)。
借助于全新 Web Budget API,具有推送通知權(quán)限的網(wǎng)站將能夠發(fā)送有限數(shù)量的推送消息,這些推送消息可以觸發(fā)同步數(shù)據(jù)或關(guān)閉用戶已在其他設(shè)備上處理過(guò)的通知(而無(wú)需顯示對(duì)用戶可見的通知)之類的后臺(tái)任務(wù)。
現(xiàn)在支持全新 Web Push Encryption 格式,可使用 PushManager.supportedContentEncodings 來(lái)檢測(cè)該格式的使用位置。
現(xiàn)在提供 PushSubion.expirationTime,可通知網(wǎng)站某個(gè)訂閱何時(shí)過(guò)期以及是否過(guò)期。
為了改善性能和可預(yù)測(cè)性,現(xiàn)在,每個(gè) AnimationFrame 傳遞一次 pointermove 和 mousemove 事件,這與 scroll 和 TouchEvents 事件的當(dāng)前功能相符。
現(xiàn)在提供 :focus-within CSS 偽類,會(huì)影響:focus 偽類影響的任何元素以及受 :focus 影響的子類的任何元素。
現(xiàn)在提供 CSS 幀時(shí)序功能,對(duì)于動(dòng)畫應(yīng)以完全相同的時(shí)長(zhǎng)顯示所有幀(包括頭幀和尾幀)的動(dòng)畫循環(huán)非常有用。
為了提供一種捕獲編輯操作的增強(qiáng)方法,InputEvent 現(xiàn)在允許通過(guò)腳本來(lái)管理用戶輸入,豐富了提供給可編輯元素的細(xì)節(jié)。
為了提高安全性,現(xiàn)在,僅在幀嘗試顯示其已收到用戶手勢(shì)或用戶交互時(shí),才會(huì)顯示用戶離開網(wǎng)站時(shí)所觸發(fā)的 BeforeUnload 對(duì)話框,盡管仍然會(huì)分派 BeforeUnloadEvent。
現(xiàn)在,可以隨 MP4 (ISO BMFF) 容器 一起使用 VP9 這一開放、免版權(quán)的視頻編碼格式,該格式需要下面提到的最新 VP9 字符串格式。
現(xiàn)在提供一種全新的 VP9 字符串格式,各種與媒體有關(guān)的 API 均接受該格式,這使得開發(fā)者能夠描述各種視頻編解碼器中共用、但尚未公開的編碼屬性。
棄用和互操作性的改善
getElementsByTagName() 現(xiàn)在接受符合限定條件的名稱,以響應(yīng)針對(duì) DOM 規(guī)范的一項(xiàng)更新。
現(xiàn)在,/deep/ 的行為類似于 descendant 組合符,事實(shí)上就是一個(gè)空操作。
為了改善用戶體驗(yàn),現(xiàn)在,如果用戶未明確點(diǎn)按幀或任何嵌入幀,則對(duì) Navigator.vibrate() 的調(diào)用會(huì)立即返回 false,這與 cross-origin iframes 的行為相同。
WEBKIT_KEYFRAME_RULE 和 WEBKIT_KEYFRAMES_RULE 已移除,代之以無(wú)前綴的標(biāo)準(zhǔn)化 API,即 KEYFRAME_RULE 和 KEYFRAMES_RULE。
現(xiàn)已從 document.createEvent() 移除對(duì)非標(biāo)準(zhǔn) WebKitAnimationEvent 和 WebKitTransitionEvent 的支持。
為了更好地符合規(guī)范,NodeIterator.filter 和 TreeWalker.filter 不再包裝 Java 對(duì)象,并且已從 window.NodeFilter 移除 .prototype。
正在移除 RTCPeerConnection.getStreamById(),推薦使用 polyfill 代替原方法。
SVGPathElement.getPathSegAtLength() 已被棄用,因?yàn)樗褟?SVGPathElement 規(guī)格中移除。
已從 Fetch API 移除Headers.prototype.getAll(),以適應(yīng)從規(guī)范中移除該方法。