谷歌
- 當 onUnload 事件發生時,該事件在頁面關閉時調用,現在
它是被禁止 顯示彈出視窗(window.open() 呼叫被封鎖),這將保護使用者在關閉可疑網站後不會被迫開啟廣告頁面; - 在 JavaScript 引擎中
實施的 新政權已經出現無 JIT (「—jitless」標誌),這使得可以在不使用 JIT(僅使用解釋器)的情況下執行 JavaScript,並且在程式碼執行期間無需分配可執行記憶體。 停用 JIT 有助於提高處理潛在危險 Web 應用程式時的安全性,並確保在禁止使用 JIT 的平台(例如 iOS、某些智慧電視和遊戲機)上進行建置。停用 JIT 時,JavaScript 執行在Speedometer 40測試中效能下降了2.0%,在Web Tooling Benchmark 測試中效能下降了80%,但在模擬使用YouTube 時,效能僅下降了6%,而記憶體消耗略有下降,僅下降了1.7%; - V8 也提供了大量新的最佳化。 例如,實際傳遞的參數數量與定義函數時指定的參數數量不對應的函數呼叫的執行速度加快了 60%。 使用 get 函數存取 DOM 屬性的速度得到了加快,這對 Angular 框架的性能產生了積極影響。 JavaScript解析加速:UTF-8解碼器的最佳化使得串流模式下的解析器效能(載入時解析)提高8%,消除不必要的重複資料刪除操作又提高了10.5%;
- 我們已經做了一些工作來減少 JavaScript 引擎的記憶體消耗。
新增了清除字節碼快取的程式碼,字節碼快取約佔總堆大小的 15%。 垃圾收集器中新增了一個階段,用於從快取中逐出不經常編譯的字節碼,用於使用的函數或僅在初始化時呼叫的函數。 清理決定是根據新計數器做出的,該計數器考慮了上次訪問字節碼的時間。 此更改將記憶體消耗減少了 5-15%,且不會對效能產生負面影響。 此外,字節碼編譯器會排除明顯未使用的程式碼的生成,例如,在 return 或 break 之後的程式碼(如果沒有跳到它); - 對於網路組裝
實施的 支援執行緒和原子操作(API WebAssembly Threads 和 WebAssembly Atomics); - 對於單獨交付腳本,添加了對“#!”標頭的支持,該標頭確定要運行的解釋器。 例如,與其他腳本語言類似,JavaScript 檔案可能如下所示:
#!/usr/bin/env 節點
控制台.log(42); - CSS 中新增了新的媒體查詢“
prefers-reduced-motion 「,允許網站確定作業系統中與停用動畫效果相關的設定狀態。 根據建議的請求,網站所有者可以 發現使用者停用了動畫效果,並停用了網站上的各種動畫功能,例如,刪除用於吸引註意力的按鈕的晃動效果; - 除了 Chrome 72 中引入的定義公共欄位的功能之外
支援已實施 將欄位標記為私有,之後對其值的存取將僅在類別內開放。 若要將欄位標記為私有,請在欄位名稱前面加上「#」號。 與公用欄位一樣,私有屬性不需要明確使用建構函式。 - 新增了Feature-Policy HTTP標頭,它允許您控制API的行為並啟用某些功能(例如,您可以啟用XMLHttpRequest的同步操作模式或停用Geolocation API)
JavaScript API 控制某些機會的活動。 對於開發者來說,有兩個新方法document.featurePolicy和frame.featurePolicy,提供三個功能:
allowedFeatures() 取得目前網域允許的功能列表,allowsFeature() 選擇性地檢查是否啟用特定功能,getAllowlistForFeature() 傳回目前頁面允許指定功能的網域列表; - 新增了對此模式的實驗性(“chrome://flags#enable-text-fragment-anchor”)支持
捲動到文本 ,它允許您形成指向單字或短語的鏈接,而無需使用“a name”標籤或“id”屬性在文件中明確指定標籤。 要發送鏈接,提供了一個特殊參數“#targetText=”,您可以在其中指定過渡文字。 允許指定一個掩碼,其中包含使用逗號作為分隔符號指示片段開頭和結尾的短語(例如,「example.com#targetText=start%20words, end%20words」); - AudioContext 建構函式中新增了一個選項
取樣率 ,它允許您透過 Web Audio API 設定音訊操作的取樣率; - 新增了類別支援
國際區域設置 ,它提供了解析和處理語言環境設定的語言、區域和樣式參數的方法,以及讀寫 Unicode 擴展標籤、以序列化格式保存使用者語言環境設定的方法; - 機制
簽名 HTTP 交換 (SXG) 透過工具進行了擴展告知 內容分發者有關下載簽名內容時出現的錯誤,例如證書驗證問題。 錯誤處理是透過 API 擴充功能完成的網路錯誤記錄 。 還記得 SXG它允許 一個網站的所有者使用數位簽名授權將某些頁面放置在另一個網站上,之後,如果在第二個網站上訪問這些頁面,瀏覽器將向用戶顯示原始網站的 URL,儘管事實如此該頁面是從不同的主機加載的; - TextEncoder 類別中新增了一個方法
編碼成() ,它允許您將編碼的字串直接寫入預先分配的緩衝區中。 encodeInto()方法是encode()方法的高效能替代方法,encode()方法需要在每次存取時執行緩衝區分配操作。 - 在服務人員中
假如 緩衝 client.postMessage() 調用,直到文件準備好。 透過 client.postMessage() 發送的訊息將會保留,直到引發 DOMContentLoaded 事件、設定 onmessage 或呼叫 startMessages() 為止; - 根據 CSS Transitions 規範的要求
添加 當CSS過渡排隊、取消、開始或完成執行時產生transitionrun、transitioncancel、transitionstart和transitionend事件。 - 當透過 overrideMimeType() 或 XMLHttpRequest 的 MIME 類型指定不正確的字元編碼時,它現在會回退到 UTF-8 而不是 Latin-1;
- 「allow-downloads-without-user-activation」屬性(透過該屬性可以在處理 iframe 時自動下載檔案)已被棄用,並將在未來版本中刪除。 將來,在沒有明確用戶操作的情況下啟動文件下載將被禁止,因為它已被積極用於濫用,強制下載並將部分惡意軟體插入到用戶的電腦上。 使用者需要點擊同一頁面才能開始下載。 該屬性原本計劃在 Chrome 74 中移除,但最終移除
推遲 最高可達 Chrome 76。 - 為Windows平台提供了可選的深色主題介面設計(在先前的版本中,為macOS準備了深色主題)。 由於深色設計與隱身模式下的設計幾乎相同,所以添加了一個特殊的指示器來代替用戶個人資料圖標,以突出隱私操作模式;
- 為企業用戶增加了一個機會
Chrome 瀏覽器雲端管理 透過 Google 管理控制台管理使用者瀏覽器設定;
除了創新和錯誤修復外,新版本還消除了
來源: opennet.ru