Chrome 61 Beta有哪些新特性?
除非另外注明,否則,下面介紹的更改均適用于*** Chrome Beta 渠道版(Android、Chrome 操作系統(tǒng)、Linux、Mac 和 Windows)。
JavaScript 模塊
這些模塊允許開發(fā)者聲明腳本的依賴項(xiàng),在第三方構(gòu)建工具中深受歡迎,這些工具在使用它時(shí)僅捆綁必需的腳本。 此版本通過新的<script type=module>元素加入對 JavaScript 模塊的原生支持。
原生支持指的是瀏覽器可以并行獲取精細(xì)的依賴項(xiàng),從而可以利用緩存、避免跨頁面重復(fù),并確保腳本按正確順序執(zhí)行,所有這一切都不需要執(zhí)行構(gòu)建步驟。
要開始體驗(yàn),請先詳細(xì)了解 JavaScript 模塊以及受這些模塊影響的 JavaScript 語言的各個(gè)方面。
桌面版 Payment Request API
自去年宣布支持 Android 后,Payment Request API 現(xiàn)已支持 Windows、Mac、Linux 和 ChromeOS。目前,開發(fā)者可以提供安全、無縫的跨平臺結(jié)賬體驗(yàn)。要開始體驗(yàn),請先“查看”我們的集成指南。
▲ 一筆交易的 PaymentRequest 流程
Web Share API
為允許用戶輕松地在社交網(wǎng)絡(luò)上分享內(nèi)容,開發(fā)者必須針對每個(gè)社交服務(wù)手動將分享按鈕集成到他們的網(wǎng)站。這不僅會導(dǎo)致頁面臃腫和包括第三方代碼引發(fā)的安全風(fēng)險(xiǎn),還常常會導(dǎo)致用戶無法通過其實(shí)際使用的服務(wù)分享內(nèi)容。
網(wǎng)站現(xiàn)在可以在 Chrome(Android 版)上使用新的 navigator.share API 來觸發(fā)原生 Android 分享對話框,從而允許用戶輕松地與其安裝的任何本機(jī)應(yīng)用分享文本或鏈接。在未來的版本中,此 API 還將能夠分享給已安裝的網(wǎng)絡(luò)應(yīng)用。
▲ navigator.share API 允許用戶通過原生 Android 分享對話框與各種本機(jī)應(yīng)用分享內(nèi)容。
WebUSB
高級網(wǎng)絡(luò)平臺 API 支持大多數(shù)硬件外設(shè),如鍵盤、鼠標(biāo)、打印機(jī)和游戲手柄。為了使用教育、科學(xué)或工業(yè)等專用 USB 外設(shè),用戶必須使用系統(tǒng)級權(quán)限查找和安裝可能不安全的驅(qū)動程序和軟件。
Chrome 現(xiàn)在支持 WebUSB API,在用戶同意的情況下允許網(wǎng)絡(luò)應(yīng)用與外設(shè)通信。這可實(shí)現(xiàn)上述設(shè)備提供的所有功能,同時(shí)仍可保證網(wǎng)絡(luò)的安全。
此版本中的其他特性
- Network Information API 現(xiàn)在提供桌面版和 Android 版,支持網(wǎng)站訪問設(shè)備的底層連接信息。
- 現(xiàn)在,開發(fā)者可以通過現(xiàn)有 Scroll API 中的一個(gè)新可選參數(shù)或通過 scroll-behavior CSS 屬性指定滾動流暢度。
- CSSOM View Smooth Scroll API 通過 scroll-behavior: smooth CSS 屬性或通過使用 window.scrollTo() DOM 滾動函數(shù)為平臺帶來原生的流暢滾動,從而不再需要通過 JavaScript 實(shí)現(xiàn)此行為
- CSS 顏色值現(xiàn)在可以是 8 位和 4 位十六進(jìn)制顏色,格式為 #RRGGBBAA 和 #RGBA。
- 現(xiàn)在,網(wǎng)站可以通過 Visual Viewport API 訪問屏幕內(nèi)容的相對位置,從而更直接地顯示復(fù)雜的功能,如利用雙指張合手勢進(jìn)行放大。
- 現(xiàn)已提供 Device RAM API,可向網(wǎng)站顯示用戶設(shè)備上的 RAM 容量,以優(yōu)化網(wǎng)絡(luò)應(yīng)用的總體性能。
- 現(xiàn)在,從已安裝網(wǎng)絡(luò)應(yīng)用導(dǎo)航到初始網(wǎng)絡(luò)應(yīng)用范圍之外的網(wǎng)站時(shí),新網(wǎng)站將在一個(gè)自定義 Chrome 標(biāo)簽中自動加載。
- 現(xiàn)在,對于使用原生控件的視頻,當(dāng)用戶順著屏幕上播放的視頻的方向旋轉(zhuǎn)他們的設(shè)備時(shí),Chrome 會自動將視頻擴(kuò)展為全屏播放。
- nextHopProtocol 現(xiàn)已在 Resource Timing 和 Navigation Timing 中提供,從而讓用戶可以訪問用于獲取資源的網(wǎng)絡(luò)協(xié)議。
- 網(wǎng)站現(xiàn)在可以要求嵌入第三方內(nèi)容,以通過<iframe> 元素上的新 csp 屬性強(qiáng)制執(zhí)行給定的內(nèi)容安全政策。
- DOMTokenList 界面現(xiàn)在支持 replace(),可輕松地將所有完全相同的令牌更改為新令牌,如 active 在到期后更改為inactive。
- 為訪問元素的屬性名稱列表,現(xiàn)在支持 getAttributeNames(),并為開發(fā)者提供一種比 attributes 集合更直接的機(jī)制。
- 現(xiàn)在,為提高安全性,在打開 JavaScript 對話框時(shí),網(wǎng)站將自動退出全屏模式。
- 網(wǎng)站現(xiàn)在可以通過 Storage API 的新 navigator.storage.estimate() 函數(shù)來獲取給定來源使用的磁盤空間的預(yù)估值和配額(以字節(jié)表示)。
- 為提升瀏覽器的緩存***率,URLSearchParams 現(xiàn)在支持 sort() 以列出所有存儲的名稱—值對。
- 現(xiàn)已更新 URLSearchParams 構(gòu)造函數(shù),可接受任何對象作為參數(shù),而不是僅接受其他 URLSearchParams 實(shí)例。
- 為防止使用錯(cuò)誤發(fā)放的證書未被發(fā)現(xiàn),網(wǎng)站可以使用新的 Expect-CT HTTP 標(biāo)頭,其將啟用自動舉報(bào)和/或強(qiáng)制執(zhí)行證書透明度要求。
- Chrome 將不再使用后臺標(biāo)簽中的媒體源解碼視頻幀。
- 現(xiàn)在可通過 ImageCapture.getPhotoSettings() 檢索“Non-Live”相機(jī)設(shè)置(如照片分辨率、減少紅眼和閃光模式)。
棄用和互操作性的改善
- 為提高安全性,網(wǎng)址中同時(shí)包含 \n 和 < 字符的資源現(xiàn)在將被屏蔽。
- 為提高安全性,已針對不安全的上下文棄用和移除對 Presentation API 的 start 函數(shù)的支持。
- 為提高各個(gè)on<event>屬性的一致性,onwheel 屬性已從 Element 移動到 Window、Document、HTMLElement 和 SVGElement。
- 為更好地遵循規(guī)范和對引用的內(nèi)容流進(jìn)行更精細(xì)的控制,Chrome 現(xiàn)在支持三個(gè)新的引用站點(diǎn)政策值,即 same-origin、strict-origin 和 strict-origin-when-cross-origin。
- 在對規(guī)范進(jìn)行更改后,colSpan 的***值已從 8190 減少到 1000。
【本文是51CTO專欄機(jī)構(gòu)“谷歌開發(fā)者”的原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者(微信公眾號:Google_Developers)】