日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Chrome 84正式發(fā)布,支持私有方法、用戶空閑檢測!

速覽

創(chuàng)新互聯(lián)公司主營舒蘭網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,舒蘭h5微信平臺(tái)小程序開發(fā)搭建,舒蘭網(wǎng)站營銷推廣歡迎舒蘭等地區(qū)企業(yè)咨詢

  •  SameSite Cookie 恢復(fù)強(qiáng)制開啟
  •  棄用 TLS1.0 和 TLS1.1
  •  Web animations API 更新
  •  支持網(wǎng)頁離線加載數(shù)據(jù)
  •  支持喚醒鎖
  •  Web Assembly SIMD 進(jìn)入實(shí)驗(yàn)階段
  •  DevTools 新增 Issues 選項(xiàng)卡
  •  JavaScript 支持私有方法
  •  JavaScript 支持弱引用

安全更新

恢復(fù) SameSite Cookie 的更改

在4月,Chrome 暫時(shí)推遲了 SameSite Cookie 屬性的推行,以確保在 COVID-19 響應(yīng)的關(guān)鍵初始階段提供基本服務(wù)的網(wǎng)站的穩(wěn)定性。

這幾個(gè)月,Chrome 一直在關(guān)注這些網(wǎng)站的準(zhǔn)備情況,Chrome 84 會(huì)同時(shí)恢復(fù)對(duì) SameSite cookie 的強(qiáng)制開啟,同時(shí)對(duì) Chrome 80+ 啟用強(qiáng)制開啟。

棄用 TLS1.0 和 TLS1.1

TLS(傳輸層安全性)是保護(hù) HTTPS 的協(xié)議。它的歷史可以追溯到將近20年的 TLS1.0 及其更早的前身SSL,TLS1.0和1.1都有許多缺點(diǎn):

  •  TLS 1.0和1.1在完成計(jì)算哈希中使用均為弱哈希的MD5和SHA-1。
  •  TLS 1.0和1.1在服務(wù)器簽名中使用MD5和SHA-1。
  •  TLS 1.0和1.1僅支持RC4和CBC密碼。RC4已損壞,此后會(huì)刪除。TLS的CBC模式構(gòu)造存在缺陷,容易受到攻擊。
  •  TLS 1.0的 CBC 密碼還會(huì)錯(cuò)誤地構(gòu)造其初始化向量。
  •  TLS 1.0不再符合 PCI-DSS。

支持 TLS1.2 是避免上述問題的先決條件。TLS工作組已棄用TLS 1.0和1.1。Chrome 現(xiàn)在也已棄用這些協(xié)議。

Web animations API

Chrome 84 為 Web animations API 添加了大量以前不支持的特性。

Promise 支持

animation.ready 和 animation.finished 支持 Promise 調(diào)用:

 
 
 
 
  1. const transformAnimation = modal.animate(openModal, openModalSettings);  
  2. transformAnimation.finished.then(() => { text.animate(fadeIn, fadeInSettings)}); 

性能提升

在基于事件(例如mousemove)創(chuàng)建動(dòng)畫時(shí),每次都會(huì)創(chuàng)建一個(gè)新的動(dòng)畫,這會(huì)快速消耗內(nèi)存并降低性能。為了解決此問題,瀏覽器中引入了可替換動(dòng)畫,實(shí)現(xiàn)了自動(dòng)清理,將完成的動(dòng)畫標(biāo)記為可替換,如果被另一個(gè)完成的動(dòng)畫替換,則將其自動(dòng)刪除。

 
 
 
 
  1. elem.addEventListener('mousemove', evt => {  
  2.  rectangle.animate(  
  3.    { transform: translate(${evt.clientX}px, ${evt.clientY}px) },  
  4.    { duration: 500, fill: 'forwards' }  
  5.  );  
  6. }); 

每次鼠標(biāo)移動(dòng)時(shí),瀏覽器都會(huì)重新計(jì)算中每個(gè)球的位置,并為該新點(diǎn)創(chuàng)建一個(gè)動(dòng)畫。瀏覽器現(xiàn)在知道在以下情況下刪除舊動(dòng)畫:

  •  動(dòng)畫完成后。
  •  在合成順序中還有一個(gè)或多個(gè)動(dòng)畫也已完成。
  •  新的動(dòng)畫是動(dòng)畫相同的屬性。

更加平滑的動(dòng)畫復(fù)合模式

你現(xiàn)在可以設(shè)置動(dòng)畫的合成模式,這意味著除了默認(rèn)的 replace 模式之外,動(dòng)畫可以是累加的。合成模式使開發(fā)人員可以編寫不同的動(dòng)畫,并可以控制效果的組合方式?,F(xiàn)在支持三種復(fù)合模式:'replace'(默認(rèn)模式)'add'、和 'accumulate'。

在默認(rèn)的 'replace' 復(fù)合模式下,最終動(dòng)畫將替換 transform 屬性并最終顯示為 rotate(360deg) scale(1.4)。對(duì)于 'add',Composite 添加旋轉(zhuǎn)并乘以比例,最終狀態(tài)為 rotate(720deg) scale(1.96)。'accumulate' 合并轉(zhuǎn)換,結(jié)果為 rotate(720deg) scale(1.8)。

Content indexing API

使用新添加的 Content Indexing API 你可以為可脫機(jī)使用的內(nèi)容添加 URL 和元數(shù)據(jù)。然后通過這些元數(shù)據(jù)將內(nèi)容呈現(xiàn)給用戶,從而提高可發(fā)現(xiàn)性。

這樣,你的網(wǎng)站在沒有網(wǎng)絡(luò)鏈接的時(shí)候也是可用的。

下面是一個(gè)調(diào)用示例子:

 
 
 
 
  1. const registration = await navigator.serviceWorker.ready;  
  2. await registration.index.add({  
  3.   // Required; set to something unique within your web app.  
  4.   id: 'article-123',  
  5.   // Required; url needs to be an offline-capable HTML page.  
  6.   // For compatibility during the Origin Trial, include launchUrl as well.  
  7.   url: '/articles/123',  
  8.   launchUrl: '/articles/123',  
  9.   // Required; used in user-visible lists of content.  
  10.   title: 'Article title',  
  11.   // Required; used in user-visible lists of content.  
  12.   description: 'Amazing article about things!',  
  13.   // Required; used in user-visible lists of content.  
  14.   icons: [{  
  15.     src: '/img/article-123.png',  
  16.     sizes: '64x64',  
  17.     type: 'image/png',  
  18.   }],  
  19.   // Optional; valid categories are currently:  
  20.   // 'homepage', 'article', 'video', 'audio', or '' (default).  
  21.   category: 'article',  
  22. }); 

Wake lock API

你是否曾經(jīng)有過這樣的困擾:一邊看電腦屏幕一邊在做其他事情,然后電腦很長時(shí)間沒有響應(yīng)就進(jìn)入屏幕保護(hù)了。

通過 Wake lock API 可以讓網(wǎng)頁請(qǐng)求喚醒鎖,以防止屏幕變暗或者進(jìn)入屏幕保護(hù)。

可以使用 navigator.wakeLock.request() 調(diào)起喚醒鎖,并且結(jié)合 setTimeout 在一段時(shí)間后自動(dòng)釋放:

 
 
 
 
  1. // The wake lock sentinel.  
  2. let wakeLock = null;  
  3. // Function that attempts to request a screen wake lock.  
  4. const requestWakeLock = async () => {  
  5.   try {  
  6.     wakeLock = await navigator.wakeLock.request('screen');  
  7.     wakeLock.addEventListener('release', () => {  
  8.       console.log('Screen Wake Lock was released');  
  9.     });  
  10.     console.log('Screen Wake Lock is active');  
  11.   } catch (err) {  
  12.     console.error(`${err.name}, ${err.message}`);  
  13.   }  
  14. };  
  15. // Request a screen wake lock…  
  16. await requestWakeLock();  
  17. // …and release it again after 5s.  
  18. window.setTimeout(() => {  
  19.   wakeLock.release();  
  20.   wakeLock = null;  
  21. }, 5000); 

Idle Detection API

空閑檢測(Idle Detection API)會(huì)在用戶閑置時(shí)通知開發(fā)人員,指示諸如與鍵盤,鼠標(biāo),屏幕長時(shí)間沒有交互,屏幕保護(hù)程序激活,屏幕鎖定或移動(dòng)到其他屏幕之類的事情。開發(fā)人員可以自定義的閾值來觸發(fā)通知。

下面這些場景很適合使用空閑檢測:

  •  聊天軟件或在線社交網(wǎng)站可以使用此API來通知用戶當(dāng)前是否可以聯(lián)系他們的聯(lián)系人。
  •  例如博物館展示程序類的應(yīng)用可以通過這個(gè)API來在沒有交互后返回首頁。
  •  需要復(fù)雜計(jì)算(例如繪制圖表)的應(yīng)用程序可以將這些計(jì)算限制在用戶與其設(shè)備進(jìn)行交互的時(shí)候。

檢測空閑檢測是否可用:

 
 
 
 
  1. if ('IdleDetector' in window) {  
  2.   // Idle Detector API supported  

調(diào)用示例:

 
 
 
 
  1. // Create the idle detector  
  2. const idleDetector = new IdleDetector();  
  3. // Set up an event listener that fires when idle state changes.  
  4. idleDetector.addEventListener('change', () => {  
  5.   const uState = idleDetector.userState;  
  6.   const sState = idleDetector.screenState;  
  7.   console.log(`Idle change: ${uState}, ${sState}.`);  
  8. });  
  9. // Start the idle detector.  
  10. await idleDetector.start({  
  11.   threshold: 60000,  
  12.   signal,  
  13. }); 

Web Assembly SIMD

SIMD(Single Instruction Multiple Data)即單指令流多數(shù)據(jù)流,是一種采用一個(gè)控制器來控制多個(gè)處理器,同時(shí)對(duì)一組數(shù)據(jù)(又稱“數(shù)據(jù)向量”)中的每一個(gè)分別執(zhí)行相同的操作從而實(shí)現(xiàn)空間上的并行性的技術(shù)。簡單來說就是一個(gè)指令能夠同時(shí)處理多個(gè)數(shù)據(jù)。

WebAssembly SIMD 提議的最終目標(biāo)是將向量運(yùn)算引入 WebAssembly 規(guī)范中,這可以大大加速音頻/視頻編解碼、圖像處理應(yīng)用程序、密碼應(yīng)用程序等高級(jí)計(jì)算應(yīng)用程序。雖然還在實(shí)驗(yàn)階段,現(xiàn)在已經(jīng)被開源程序廣泛使用了(如 Halide、OpenCV.js、XNNPACK)都支持 WebAssembly SIMD 。

我們能很明顯的看到 SIMD 的性能差異。如果沒有 SIMD,則現(xiàn)代筆記本電腦每秒只能獲得3幀左右的圖像,而啟用 SIMD 時(shí),可以獲得 15-16 幀/秒的平滑體驗(yàn)。

下面是一個(gè)更有趣的 "隱身" 例子:

WebAssembly SIMD 原始版本試用版可在 Chrome 84-86 版中進(jìn)行實(shí)驗(yàn)。

DevTools 更新

issues 選項(xiàng)卡

抽屜中新增來 issues 選項(xiàng)卡,目的是幫助減控制臺(tái)輸出的混亂。

目前,控制臺(tái)是網(wǎng)站開發(fā)者、庫、框架和 Chrome 本身記錄消息、警告和錯(cuò)誤的中心位置。Issues 選項(xiàng)卡以結(jié)構(gòu)化的、聚合的、可操作的方式顯示來自瀏覽器的警告,鏈接到 DevTools 中受影響的資源,并提供如何修復(fù)這些問題的指導(dǎo)。隨著時(shí)間的推移,越來越多的 Chrome 警告將出現(xiàn)在 Issues 標(biāo)簽而不是控制臺(tái),這將有助于減少控制臺(tái)的混亂。

性能面板更新

“性能” 面板現(xiàn)在在頁腳中顯示 “總阻塞時(shí)間(TBT)” 信息。TBT是一種負(fù)載性能指標(biāo),可幫助量化頁面到達(dá)可用花了多長時(shí)間。它實(shí)質(zhì)上測量的是頁面看起來可用的時(shí)間(因?yàn)槠鋬?nèi)容已呈現(xiàn)到屏幕上),但實(shí)際上不可用, 因?yàn)?JavaScript 阻止了主線程,因此頁面無法響應(yīng)用戶輸入。TBT 是近似于首次輸入延遲的主要實(shí)驗(yàn)室指標(biāo),它是 Google 的新 Core Web Vitals 之一。

要獲取 TBT ,請(qǐng)不要使用 Reload Page 重新載入頁面工作流來記錄頁面加載性能。而是單擊 Record 記錄,手動(dòng)重新加載頁面,等待頁面加載,然后停止記錄。如果看到, Total Blocking Time: Unavailable 則表示 DevTools無法從 Chrome 的內(nèi)部配置文件數(shù)據(jù)中獲取所需的信息。

另外,還支持了 CLS:

圖片預(yù)覽

將鼠標(biāo)懸停在 background-image 上可以在提示工具中看到圖片預(yù)覽:

V8 v8.4 - 支持私有方法

在 v7.4 版本中新增加的私有字段進(jìn)一步支持了私有方法和訪問器。從語法上講,私有方法和訪問器的名稱以#開頭,就像私有字段一樣。下面簡要介紹一下該語法:

 
 
 
 
  1. class Component {  
  2.   #privateMethod() {  
  3.     console.log("I'm only callable inside Component!");  
  4.   }  
  5.   get #privateAccessor() { return 42; }  
  6.   set #privateAccessor(x) { }  

私有方法和訪問器具有與私有字段相同的作用域規(guī)則和語義。

V8 v8.4 - 弱引用

JavaScript 是一種垃圾回收語言,這意味著當(dāng)垃圾回收器運(yùn)行時(shí),程序無法再訪問的對(duì)象所占用的內(nèi)存可能會(huì)自動(dòng)回收。除了 WeakMap 和中的 WeakSet 引用之外, JavaScript 中的所有引用都很強(qiáng)大,可以防止對(duì)引用的對(duì)象進(jìn)行垃圾回收。例如下面的代碼:只要 globalRef 通過全局作用域是可訪問的,它和它的回調(diào)屬性中的函數(shù)都不會(huì)被回收。

 
 
 
 
  1. const globalRef = {  
  2.   callback() { console.log('foo'); }  
  3. }; 

JavaScript 開發(fā)者現(xiàn)在可以通過 WeakRef 功能對(duì)對(duì)象進(jìn)行弱引用。如果弱引用所引用的對(duì)象也未得到強(qiáng)引用,則它們不會(huì)阻止對(duì)其進(jìn)行垃圾回收。

 
 
 
 
  1. const globalWeakRef = new WeakRef({  
  2.   callback() { console.log('foo'); }  
  3. });  
  4. (async function() {  
  5.   globalWeakRef.deref().callback();  
  6.   await new Promise((resolve, reject) => {  
  7.     setTimeout(() => { resolve('foo'); }, 42);  
  8.   });  
  9.   globalWeakRef.deref()?.callback();  
  10. })();  

網(wǎng)站標(biāo)題:Chrome 84正式發(fā)布,支持私有方法、用戶空閑檢測!
分享鏈接:http://www.5511xx.com/article/cddsseh.html