Chrome 83穩定版發布了,以下是最主要的更新內容:
可信類型(受信任類型),有助于防止跨站點腳本漏洞
新的表單元素
新的跨域政策
互聯網生命計劃
檢測內存泄漏的新方法
可信類型(可信類型)
基于DOM的跨站點腳本(DOM XSS)是最常見的Web安全漏洞之一??尚蓬愋?可信類型)可以幫助防止這種錯誤,因為它們會要求您在數據傳遞給潛在的危險之前實現進行處理。
以innerHTML標準,如果啟用了可信類型,那么如果嘗試傳遞一個字符串,導致拋出一個TypeError,因為瀏覽器不知道它是否可以信任該字符串。
//打開const elem = document的可信類型。getElementById ('myDiv' );
ELEM 。innerHTML = `你好,世界!` ; //將拋出TypeError
相替代地,需要使用諸如textContent之類的安全函數,可以信賴的類型,或者創建該元素并使用appendChild()。
//使用安全函數
elem 。textContent = '' ; // OK 在一個可信任的類型//通行證進口DOMPurify 從“dompurify” ; const str = `Hello,world!` ;
ELEM 。innerHTML = DOMPurify 。清理(str ,{ RETURN_TRUSTED_TYPE :true }); //創建一個元素const img = document 。createElement ('img' );
img
。src = 'xyz.jpg' ;
ELEM 。appendChild (img );
更新表單控件
Chrome和Edge進行了合作,以改善HTML表單控件的外觀和功能。下圖顯示了Chrome中某些控件的新舊版本對比(左舊右新)。

除了新的視覺風格之外,微軟還提供了更好的觸摸支持和輔助功能,同時改進了鍵盤支持。

新的跨域政策
一些Web API會增加某種Spectre之類的旁道攻擊的風險。為了減輕這種風險,Chrome提供了一個基于選擇的隔離環境,稱為跨域隔離。這是通過兩個新的HTTP標頭完成的:跨原始物嵌入政策
和跨原始物開放政策。使用這些標頭,網頁可以安全地使用特權功能,包括:
Performance.measureMemory()
JS自剖析API
跨域隔離狀態還可以防止對document.domain進行修改。
網絡生命
有這樣的一組共同的信號-“核心網絡生命”-對所有網絡體驗都至關重要。此類核心用戶體驗需求包括頁面內容的加載體驗,相互作用性和視覺穩定性,以及這些共同構成了2020 Core Web Vitals的基礎。

內容最大的涂料會測量感知的加載速度,并在頁面的主要內容可能已加載時標記頁面加載時間軸中的點。
First Input Delay可測量響應度,并量化用戶在首次嘗試與頁面進行交互時的體驗。
累積布局偏移可調整視覺穩定性,并在可見頁面內容的意外布局偏移量。
原產地試驗
用measureMemory()測量內存
performance.measureMemory()是一個新的API,可用于測量頁面的內存使用情況和檢測內存泄漏。
更新原生文件系統API
原生文件系統(Native File System)API在Chrome 83中啟動了一個新的源程序試用版,該版本支持可寫流,并且可以保存文件句柄。
異步 函數 writeURLToFile (fileHandle , url ){ //創建要寫入的FileSystemWritableFileStream。const writable = 等待fileHandle 。createWritable (); //對內容進行HTTP請求。const response = 等待獲取(url ); //將響應流式傳輸到文件中。
等待回應。身體。pipeTo (可寫);// pipeTo()自動關閉目標管道。}
可寫流使寫入文件變得更加容易,并且可以輕松地將響應從一個流傳輸到另一個流。
將文件句柄保存到IndexedDB允許用戶存儲狀態或記住用戶正在處理的文件。例如,保留最近編輯的文件列表,打開用戶正在使用的最后一個文件等等。
其他
Chrome現在支持一級檢測API,該API提供了檢測和解碼二級的功能。
新的CSS @supports函數為CSS選擇器提供功能檢測。
新的ARIA注釋支持屏幕閱讀器可訪問帶有語義(某些的語義)的注釋,建議和文本高亮。
Preferreds-Color-Scheme媒體查詢使作者能夠選擇自己的深色主題,他們可以完全控制自己建造的體驗。
JavaScript現在支持共享工作程序中的模塊。
詳情可查閱:https : //developers.google.com/web/updates/2020/05/nic83