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

Chrome 100:有風險也有機遇!

系統 瀏覽器
最近 Chrome 剛剛發布了 100 版本,我們來看看有哪些我們需要注意的點?

最近 Chrome 剛剛發布了 100 版本,我們來看看有哪些我們需要注意的點?

三位數的版本號

記得 Chrome 在很久以前第一次達到版本號 10 時,隨著主要版本號從一位數變為兩位數,很多 User-Agent 解析庫發生了很多問題。現在 Chrome 和 Firefox 都馬上要突破 100 版本了,Edge 也不甘落后,我們可能需要提前注意一下三位數版本號可能會帶來的相關問題,以便在它真的升上去的時候做好準備。

這里舉幾個可能出問題的場景:

從 userAgent 取到的瀏覽器版本號為字符串,你直接用字符串去比較版本大小:

這個在 版本<100 的時候是沒啥問題的,但是一旦突破 100,比較可能就亂了:

var browser_version = "100";
var support_min_version = "90";
if (browser_version < support_min_version) {
console.log("too old");
} else {
console.log("supported");
}

比較好的做法是先將字符串轉成整數:

var browser_version = parseInt("100", 10) 
var support_min_version = 90;
if (browser_version < support_min_version) {
console.log("too old");
} else {
console.log("supported");
}

另外還有個比較常見的問題,代碼里如果用正則匹配 UA 中的瀏覽器版本,可能寫死了兩位數:

const ua_string = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Firefox/91.0";
const ua_100 = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:100.0) Gecko/20100101 Firefox/100.0";
ua_string.match(/Firefox\/(\d\d)/); // ["Firefox/91", "91"]
ua_string.match(/Firefox\/(\d{2})/); // ["Firefox/91", "91"]
ua_string.match(/Firefox\/(\d\d)\./); // ["Firefox/91.", "91"]
ua_100.match(/Firefox\/(\d\d)/); // ["Firefox/10", "10"]
ua_100.match(/Firefox\/(\d{2})/); // ["Firefox/10", "10"]
ua_100.match(/Firefox\/(\d\d)\./); // null

更好的做法是不應該限制數字位數:

ua_string.match(/Firefox\/(\d+)/); //  ["Firefox/91", "91"]
ua_string.match(/Firefox\/(\d+)/); // ["Firefox/100", "100"]

100CoolWebMoments

1989 年 3 月 12 日,在瑞士的歐洲核子研究中心工作的蒂姆·伯納斯-李向他的老板遞交了一篇題目為“Information Management: A Proposal”的建議書。后來人們把這一天當作萬維網 (WWW, World Wide Web) 誕生的日子。一晃三十年過去,web 早已成為這個世界重要的組成部分。

在 Chrome 100 版本發布的日子,Google 發布了 Web 100 個令人激動的瞬間 (https://developer.chrome.com/100/),同時也在推特上發起了 #100CoolWebMoments 活動。

簡化的 User-Agent

Chrome 100 將是最后一個默認支持未刪減的 User-Agent 字符串的版本。Chrome 推薦大家用新的 User-Agent Client Hints API 替換 User-Agent 字符串。

從 Chrome 101 開始, User-Agent 將逐漸減少。

多屏窗口放置API

對于某些應用程序,打開新的窗口并將它們放在特定位置或特定顯示器是一項很重要的功能。比如,我們在演示 PPT 的時候,我希望 PPT 在主顯示器上全屏顯示,而我們做的一些講稿的備注信息希望顯示在另一個顯示器上。

Chrome 100 為我們帶來了新的 Multi-Screen Window Placement API,它可以把連接到用戶機器的顯示器枚舉出來,并將窗口放置在特定屏幕上。

您可以通過 window.screen.isExtended 快速檢查是否有多個屏幕連接到設備:

const isExtended = window.screen.isExtended;
// returns true/false

關鍵功能在 window.getScreenDetails() 中,它提供了有關附加顯示器的詳細信息:

const x = await window.getScreenDetails();
// returns
// {
// currentScreen: {...}
// oncurrentscreenchange: null
// onscreenschange: null
// screens: [{...}, {...}]
// }

比如,你可以確定哪個是主屏幕,然后用 requestFullscreen() 讓某些元素在該顯示器上全屏顯示:

try {
const screens = await window.getScreenDetails();
const primary = screens
.filter((screen) => screen.primary)[0]
await elem.requestFullscreen({ screen: primary });
} catch (err) {
console.error(err);
}

它還提供了一個事件監聽器,可以監聽到插入或移除新顯示器、分辨率變化等事件:

const screens = await window.getScreenDetails();
let numScreens = screens.screens.length;
screens.addEventListener('screenschange', (event) => {
if (screens.screens.length !== numScreens) {
console.log('Screen count changed');
numScreens = screens.screens.length;
}
});

另外,W3C 第二屏工作組(Second Screen Working Group 旨在開發有關規范以支持網頁使用輔助屏幕來顯示網頁內容)近期也更新了工作章程:

新章程將多屏窗口放置 API 納入標準化流程,該規范允許 Web 應用查詢其設備獲取直接連接的顯示器信息,并在特定屏幕上放置內容。

責任編輯:趙寧寧 來源: code秘密花園
相關推薦

2012-12-27 14:22:24

2022-03-01 13:42:57

區塊鏈安全技術

2009-11-24 10:32:09

云計算

2022-02-18 09:47:54

Chrome瀏覽器網絡風險

2014-12-01 09:32:33

桌面即服務安全風險VDI

2018-03-08 09:57:15

2018-12-21 12:53:54

5G互聯網運營商

2022-06-01 14:00:27

區塊鏈數據庫機遇

2012-06-19 16:41:14

2018-09-04 15:21:06

AppleiPhone維修

2013-09-09 16:48:54

軟博會

2012-06-19 10:16:04

2023-09-01 15:20:40

人工智能AI

2009-03-24 22:11:52

企業多核服務器

2012-06-19 09:44:37

2012-06-20 09:27:09

2024-09-23 14:19:25

2021-02-26 10:21:05

5G聯網汽車網絡安全

2024-07-15 15:44:27

2024-03-06 14:36:55

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av播播| 一区二区三区视频在线 | 老司机深夜福利网站 | 日韩av在线一区二区三区 | 日韩av成人 | 国产精品亚洲成在人线 | 欧美一区二区三区在线 | 网色 | 精品99在线| 精品一区av | 美女黄色在线观看 | 精久久| 精品一区二区在线看 | 成人在线播放网站 | 精品一区二区三区在线观看 | 国产精品久久久久永久免费观看 | 欧美天堂 | 人人爽日日躁夜夜躁尤物 | 在线播放亚洲 | 国产免费观看一级国产 | 99免费在线观看视频 | 久久婷婷国产麻豆91 | 激情久久av一区av二区av三区 | 日韩1区2区 | 狠狠干夜夜草 | 日韩黄a | 精品欧美 | 国产一二区视频 | 久久国产精品一区二区 | 久久精品亚洲欧美日韩久久 | 久久免费视频在线 | 国产一区二区精品 | 欧美激情在线一区二区三区 | 一区二区三区网站 | 精品国产成人 | 欧美又大粗又爽又黄大片视频 | 国产精品九九九 | 欧美一级二级三级视频 | 中国一级特黄毛片大片 | 久久久久精 | 在线视频一区二区 |