成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Chrome 95有哪些有意思的新特性?

開(kāi)發(fā) 前端
10月19日正式發(fā)布的Chrome 95,帶來(lái)了哪些新特性呢?一起來(lái)看看吧。

10月19日正式發(fā)布的Chrome 95,帶來(lái)了哪些新特性呢?

TL;TR

  •  Chrome 95最大的亮點(diǎn)是什么?WebAssembly終于支持異常處理了,這是WebAssembly所缺失的最重要的特性之一,將有利于壓縮體積并提升性能。
  •  Chrome 95是哪天發(fā)布的?2021-10-19
  •  Chrome 95更新了多少個(gè)特性?14個(gè),具體有哪些特性可以查看Chrome Platform Status
  •  Chrome 95將使用哪個(gè)版本的V8引擎?v9.5
  •  我感興趣的正式特性有哪些?
    •   WebAssembly Exception Handling
    •   Secure payment confirmation
    •   EyeDropper API
  •  我感興趣的試用(origin trial)特性有哪些?
    •   Reduce User Agent string information

詳細(xì)解讀

WebAssembly Exception Handling

WebAssembly Exception Handling于Chrome 90開(kāi)始試用,Chrome 95正式發(fā)布,為WebAssemly增加了異常處理語(yǔ)法,具體指令如下表所示:

ame

Opcode

Description

try

0x06

begins a block which can handle thrown exceptions

catch

0x07

begins the catch block of the try block

catch_all

0x19

begins the catch_all block of the try block

delegate

0x18

begins the delegate block of the try block

throw

0x08

Creates an exception defined by the tag and then throws it

rethrow

0x09

Pops the exnref on top of the stack and throws it

WebAssembly/exception-handling提案由Google的開(kāi)發(fā)者負(fù)責(zé),當(dāng)前處于WebAssembly提案流程的Phase 3,并且得到了Firefox、Safari以及Edge的支持,因此預(yù)計(jì)將會(huì)成為正式標(biāo)準(zhǔn)。

WebAssembly自誕生以來(lái)就沒(méi)有異常處理語(yǔ)法,這是個(gè)挺大的問(wèn)題。在瀏覽器環(huán)境下,WebAssemly的異常是通過(guò)JavaScript的try/catch來(lái)"模擬"的,這繼承了Asm.js的處理方式。

基于JavaScript的WebAssembly異常處理方式如下圖所示:

  •  左側(cè)為WebAssembly偽代碼,右側(cè)為JavaScript膠水代碼;
  •  根據(jù)右側(cè)的JavaScript函數(shù)invoke_vi可知,WebAssembly模塊的調(diào)用放在了JavaScript的try/catch語(yǔ)句中;
  •  根據(jù)右側(cè)的JavaScript函數(shù)___cxa_throw可知,WebAssmebly的throw語(yǔ)句實(shí)際上是使用JavaScript的throw語(yǔ)句來(lái)模擬;
  •  WebAssembly和JavaScript代碼互相來(lái)回調(diào)用,這樣生成的代碼量增加了很多,同時(shí)降低了執(zhí)行性能;

圖片來(lái)源:WebAssembly Exception Handling: A Toolchain's Perspective

根據(jù)初步的測(cè)試結(jié)果,基于WebAssembly原生的異常處理方式,代碼量降低了30%左右,同時(shí)性能提升了30%左右,這個(gè)結(jié)果可以說(shuō)非常理想了,用更少的代碼實(shí)現(xiàn)了更好的性能。從原理上來(lái)講,這個(gè)結(jié)果并不讓人意外。不過(guò),由于目前測(cè)試數(shù)據(jù)還非常少,因此WebAssembly Exception Handling的真實(shí)效果還有待于進(jìn)一步驗(yàn)證。

Secure payment confirmation

Secure payment confirmation于Chrome91開(kāi)始試用,Chrome 95正式發(fā)布,旨在為用戶提供更加安全、更加便捷的支付服務(wù)。

Secure Payment Confirmation為W3C提案,由Google的開(kāi)發(fā)者負(fù)責(zé),由于其他瀏覽器廠商并未表達(dá)是否支持,因此該提案何時(shí)能夠成為W3C標(biāo)準(zhǔn)并不好說(shuō)。

下圖非常直觀地展示了基于Secure Payment Confirmation的支付流程:發(fā)起支付、授權(quán)支付、驗(yàn)證支付。

圖片來(lái)源:Secure Payment Confirmation explained

Secure Payment Confirmation從2個(gè)方面優(yōu)化了支付服務(wù):

  •  用戶無(wú)需離開(kāi)購(gòu)物站點(diǎn)(https://merchant.com),所有操作在對(duì)話框中完成,這樣提高了用戶體驗(yàn),也提高了轉(zhuǎn)化率;
  •  用戶采用Web Authentication API進(jìn)行驗(yàn)證授權(quán),使用生物認(rèn)證(例如指紋)而非密碼進(jìn)行驗(yàn)證,更加安全,更加便捷;

這樣的體驗(yàn)類(lèi)似于在iOS應(yīng)用內(nèi)付費(fèi),無(wú)需離開(kāi)APP,刷臉即可,非常方便。

美國(guó)在線支付服務(wù)巨頭Stripe試用了Secure payment confirmation,為期3個(gè)月的實(shí)驗(yàn)結(jié)果表明,轉(zhuǎn)化率提升了8%(從84.7%提升到92.7%),授權(quán)速度提升了3倍(中位數(shù)從36s降低到了12s)

中國(guó)的在線支付行業(yè)遠(yuǎn)遠(yuǎn)超越了歐美發(fā)達(dá)國(guó)家,這是時(shí)代發(fā)展的紅利,也是互聯(lián)網(wǎng)行業(yè)對(duì)于社會(huì)最大的貢獻(xiàn)之一。我想,大家只是習(xí)慣了這種只需要帶上手機(jī)的生活,沒(méi)有發(fā)現(xiàn)在線支付以及各種互聯(lián)網(wǎng)應(yīng)用是多么重要。

不過(guò),對(duì)于Web應(yīng)用來(lái)說(shuō),在線支付還存在一個(gè)不小的問(wèn)題,要么使用二維碼手機(jī)掃碼支付,要么需要跳轉(zhuǎn)到支付網(wǎng)站,整個(gè)支付體驗(yàn)并沒(méi)有達(dá)到最佳的狀態(tài)。要知道,用戶的每一次跳轉(zhuǎn)都有可能增加流失率。Secure payment confirmation可以減少用戶跳轉(zhuǎn)將可以有效提高體驗(yàn)以及轉(zhuǎn)化率,還是非常值得一試的。

EyeDropper API

Chrome 95正式發(fā)布了EyeDropper API,用于控制顏色選擇器,支持選擇瀏覽器窗口之外的顏色,目測(cè)可以用于Figma等設(shè)計(jì)類(lèi)工具。

EyeDropper API是WICG提案,由Microsoft的開(kāi)發(fā)者負(fù)責(zé)。

EyeDropper API的用法非常簡(jiǎn)單: 

  1. const eyeDropper = new EyeDropper();  
  2. try {  
  3.   const selectedColor = await eyeDropper.open();  
  4.   console.log(selectedColor); // 打印所選擇的顏色,例如:{ sRGBHex: '#ff0000' }  
  5. } catch (err) {  
  6.   console.log("color selection cancelled"); // 用戶按ESC鍵關(guān)閉顏色選擇器  

創(chuàng)建一個(gè)EyeDropper實(shí)例之后,即可使用open方法打開(kāi)顏色選擇器,獲取用戶所選擇的顏色值:

[[435460]]

圖片來(lái)源:EyeDropper API Explainer

從EyeDropper API也可以看出來(lái),Microsoft一直在積極參與瀏覽器標(biāo)準(zhǔn)制定和開(kāi)發(fā),由Edge瀏覽器主導(dǎo)或者積極參與的瀏覽器提案越來(lái)越多了,比如WebAssembly、WebCodecs、EyeDropper API、VirtualKeyboard API、Clipboard API: Svg。

誰(shuí)說(shuō)基于Chromium的瀏覽器就只能躺平?還是可以參與Web技術(shù)標(biāo)準(zhǔn)制定的。這對(duì)于國(guó)內(nèi)各大基于Chromium實(shí)現(xiàn)的瀏覽器還是有啟發(fā)意義的。。。

Microsoft曾經(jīng)通過(guò)非常手段將IE瀏覽器打造成為霸主,只是最后求仁得仁,IE瀏覽器不是依靠產(chǎn)品和技術(shù)取勝的,后來(lái)也輸在了產(chǎn)品和技術(shù)上。如下圖所示,Chrome發(fā)布之后,輕松把IE瀏覽器的份額幾乎全部搶走了

圖片來(lái)源:Timeline: The 30-Year History of the World Wide Web

IE瀏覽器終于被Microsoft徹底拋棄了,Edge換用Chromium作為瀏覽器內(nèi)核,但是Microsoft只是改變?yōu)g覽器的研發(fā)策略,而不是放棄瀏覽器。云計(jì)算(Azure、Office 365)業(yè)務(wù)的迅速增長(zhǎng)是Microsoft復(fù)興最核心的推動(dòng)力,瀏覽器作為云計(jì)算產(chǎn)品的入口,其重要性不言而喻。

Edge目前的市場(chǎng)占有率還非常低,但是Chrome不得不警惕這個(gè)強(qiáng)大的競(jìng)爭(zhēng)對(duì)手:不差錢(qián)、手握PC操作系統(tǒng)Windows、業(yè)績(jī)和市值全面復(fù)興、企業(yè)文化和公司戰(zhàn)略成功轉(zhuǎn)型。不過(guò),最近Edge似乎又想通過(guò)Windows壟斷地位強(qiáng)行推廣,這就有點(diǎn)不厚道了。

風(fēng)水輪流轉(zhuǎn),在瀏覽器創(chuàng)新上固步自封的現(xiàn)在變成了Safari。Chrome核心開(kāi)發(fā)者之一Alex Russell(今年跳槽去Edge了)寫(xiě)過(guò)一篇非常詳盡的檄文Progress Delayed Is Progress Denied,指責(zé)Safari及其瀏覽器引擎Webkit嚴(yán)重落后,App Store要求所有瀏覽器在iOS端必須使用Webkit引擎的政策嚴(yán)重制約了Web技術(shù)的發(fā)展,導(dǎo)致大量Web新技術(shù)無(wú)法即時(shí)應(yīng)用到iOS端。出于維護(hù)App Store的商業(yè)利益,Apple不太可能主導(dǎo)放棄對(duì)iOS端Web技術(shù)的刻意控制,競(jìng)爭(zhēng)對(duì)手只能付諸法律手段。

Reduce User Agent string information

Chrome 95開(kāi)始試用Reduce User Agent string information特性,顧名思義,旨在簡(jiǎn)化User-Agent字符串,減少其信息量,緩解利用User-Agent字符串作為用戶指紋,更好地保護(hù)用戶隱私。同時(shí),引導(dǎo)開(kāi)發(fā)者使用更加保護(hù)用戶隱私的User-Agent Client Hints來(lái)獲取瀏覽器信息,降低大家對(duì)User-Agent字符串的依賴。

Chrome計(jì)劃到Chrome 113徹底完成User Agent字符串的簡(jiǎn)化,不過(guò)從最終的結(jié)果來(lái)看,其實(shí)User-Agent的變化其實(shí)非常小。

以Chrome Windows用戶為例,舊的User-Agent字符串是這樣的:

Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.1234.56 Safari/537.36

簡(jiǎn)化之后最終的User-Agent字符串是這樣的:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.0.0 Safari/537.36

Windows NT 6.3變成了Windows NT 10.0,Chrome/93.0.1234.56變成了Chrome/93.0.0.0,僅此而已。Windows的版本號(hào)被固定在了10.0,即使用戶更新了操作系統(tǒng),也不再變化了;Chrome的版本號(hào)僅保留大版本號(hào),省略了小版本號(hào)。換句話說(shuō),我們依然可以通過(guò)User-Agent字符串獲取瀏覽器的名稱(chēng)及其大版本號(hào)、操作系統(tǒng)的名稱(chēng)、區(qū)分桌面端和移動(dòng)端。但是,我們無(wú)法通過(guò)User-Agent字符串獲取瀏覽器的小版本號(hào)以及操作系統(tǒng)的版本了。另外,對(duì)于安卓端,手機(jī)的品牌及型號(hào)也不再提供。

User-Agent字符串所能提供的瀏覽器信息更加模糊了,這樣有利于保護(hù)用戶隱私。

如果開(kāi)發(fā)者需要獲取更加精確的瀏覽器信息,則需要使用User-Agent Client Hints,該特性在Chrome 89已上線。User-Agent Client Hints對(duì)應(yīng)的HTTP請(qǐng)求Header字段如下表:

請(qǐng)求Header

取值示例

Sec-CH-UA

"Chromium";v="84", "Google Chrome";v="84"

Sec-CH-UA-Mobile

?1

Sec-CH-UA-Full-Version

"84.0.4143.2"

Sec-CH-UA-Platform

"Android"

Sec-CH-UA-Platform-Version

"10"

Sec-CH-UA-Arch

"arm"

Sec-CH-UA-Model

"Pixel 3"

Sec-CH-UA-Bitness

"64"

瀏覽器默認(rèn)僅發(fā)送Sec-CH-UA、Sec-CH-UA-Mobile、Sec-CH-UA-Platform,與User-Agent所提供的信息量一致,如果服務(wù)端需要獲取其他User-Agent Client Hints字段的話,則需要明確指定所需要的字段。這樣做的好處在于,瀏覽器默認(rèn)提供的用戶信息更少了,同時(shí)瀏覽器及Web應(yīng)用理論上能夠記錄、審計(jì)服務(wù)端所請(qǐng)求的信息量,能夠更加主動(dòng)地保護(hù)用戶隱私。

Web端的監(jiān)控服務(wù),例如ARMS、Fundebug、Sentry等,若需要獲取更加準(zhǔn)確的客戶端信息,則需要使用User-Agent Client Hints了。當(dāng)然,建議使用User-Agent Client Hints需要獲得用戶的授權(quán),插件以及應(yīng)用端不應(yīng)該幫用戶做決定,否則這個(gè)特性對(duì)用戶隱私的保護(hù)就沒(méi)有實(shí)際意義了。

總結(jié)

這篇博客我所介紹的Chrome特性較少,只有4個(gè),這是因?yàn)?strong>我并不打算介紹所有Chrome特性,沒(méi)有必要,也沒(méi)有這么多時(shí)間。對(duì)于《了不起的Chrome瀏覽器》的寫(xiě)作,我只關(guān)注以下4類(lèi)特性:

  •  具有革命性的特性,例如:WebAssembly(SIMD、Exception Handling)、WebGPU、WebCodecs;
  •  具有創(chuàng)新性的特性,例如:Web NFC、Web Bluetooth、WebOTP API;
  •  存在兼容性風(fēng)險(xiǎn)的特性,例如:Reduce User Agent string information;
  •  涉及到安全的特性,例如:Block HTTP port 554、Block ports 989 and 990、crypto.randomUUID();

對(duì)于其他特性感興趣的同學(xué),不妨直接查看Chrome Platform Status,這個(gè)站點(diǎn)介紹了Chrome的版本、特性以及發(fā)布日期。最近發(fā)現(xiàn)Chrome Platform Status會(huì)把Chrome每個(gè)版本的開(kāi)發(fā)特性、試用特性以及移除特性也列出來(lái),簡(jiǎn)直就是為了方便我寫(xiě)作,awesome! 

 

責(zé)任編輯:龐桂玉 來(lái)源: 前端大全
相關(guān)推薦

2017-09-16 15:55:54

ChromeJavaScriptAndroid

2021-03-25 06:12:55

SVG 濾鏡CSS

2021-04-23 07:51:56

CSS Container Q Chrome

2022-08-15 22:34:47

Overflow方向裁切

2022-06-15 07:21:47

鼠標(biāo)指針交互效果CSS

2022-07-11 13:09:26

mmapLinux

2020-12-12 13:50:16

云開(kāi)發(fā)

2021-01-27 13:54:05

開(kāi)發(fā)云原生工具

2018-06-24 16:39:28

Tomcat異常線程

2017-08-01 00:52:07

kafka大數(shù)據(jù)消息總線

2021-10-28 15:02:16

OpenHarmony微納衛(wèi)星

2013-08-28 09:46:09

Debian LinuLinux發(fā)行版

2012-06-19 16:49:19

Web開(kāi)發(fā)

2010-04-09 11:24:59

Oracle 排序

2012-05-22 10:12:59

jQuery

2015-10-28 13:57:29

融合架構(gòu)華三UIS

2021-04-09 08:23:30

Css前端加載動(dòng)畫(huà)

2015-09-17 17:49:13

華三/UIS

2022-07-04 09:18:30

AI應(yīng)用平臺(tái)

2021-06-23 09:46:16

Python 3.10結(jié)構(gòu)模式管理器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 天堂在线中文 | 亚洲精品一区二区在线观看 | 国产精品国产三级国产aⅴ原创 | 亚洲精品乱码久久久久v最新版 | 成人日b视频 | 97超碰成人| 亚洲国产精品视频 | 国产精品网址 | 精品国产一区二区三区成人影院 | 美女网站视频免费黄 | 亚洲视频中文字幕 | 日本在线一区二区三区 | 日韩一区二区在线播放 | 日日摸夜夜添夜夜添精品视频 | 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 久久久久久黄 | 精品国产精品国产偷麻豆 | 免费人成激情视频在线观看冫 | 久久亚| 国产精品国产三级国产aⅴ中文 | 日韩淫片免费看 | 欧美精品首页 | 天天操夜夜艹 | 亚洲精品一区二区二区 | 国产又爽又黄的视频 | 日韩毛片在线视频 | 亚洲成人在线免费 | 天堂久久网 | 国产欧美日韩综合精品一区二区 | 自拍偷拍亚洲视频 | 91久久久久 | 久久av网| 日韩在线视频一区 | av成人在线观看 | 欧美精品久久久 | 人成精品| 国产视频二区在线观看 | 欧美日韩91 | 亚洲男人天堂2024 | 亚洲国产激情 | 成人精品久久久 |