全球好,很欢悦又碰面了AG真人百家乐怎么玩,我是"高档前端进阶",由我带着全球一齐爱护前端前沿、深远前端底层时间,全球一齐朝上,也接待全球爱护、点赞、保藏、转发,您的援手是我不断创作的能源。
1.什么是 Webperf-Snippets
Webperf-Snippets 是精选的片断列表,ag百家乐刷水攻略用于得到 Web 性能运筹帷幄以在浏览器扫尾台中使用或当作 Chrome 配置器具上的片断。
⚡️ Web Performance Snippets
配置者不错使用 Webperf-Snippets 当作 Chrome DevTools Sources 选项卡中的 Snippet。只需要按照如下循序完成:
复制任何 WebPerf 片断
绽放 Chrome 配置者器具
选拔 “开头” 选项卡
选拔 “片断” 子选项卡
单击 “新建片断” 按钮,举例:LCP
写下片断称号 LCP
将复制的代码粘贴到右侧区域
运转片断
2.Webperf-Snippets 包括那些运筹帷幄
Cumulative Layout Shift (CLS)
当浏览器焦点切换到另一个选项卡时,此剧本会融会 CLS 值,因为 CLS 是在页面的人命周期内筹备的。
let cumulativeLayoutShiftScore = 0;const observer = new PerformanceObserver((list) => { for (const entry of list.getEntries) { if (!entry.hadRecentInput) { cumulativeLayoutShiftScore += entry.value; } }});observer.observe({type: "layout-shift", buffered: true});document.addEventListener("visibilitychange", => { if (document.visibilityState === "hidden") { observer.takeRecords; observer.disconnect; console.log(`CLS: ${cumulativeLayoutShiftScore}`); }});
Largest Contentful Paint (LCP)
底下的剧本会融会相关 LCP(在新选项卡中绽放)运筹帷幄的信息。
不错在浏览器扫尾台中使用,也不错将其用作 Chrome DevTools Source 选项卡中的片断。以下代码在扫尾台中列出最大的本色绘画,并在 LCP 元素周围添加绿色虚线。
const po = new PerformanceObserver((list) => { let entries = list.getEntries; entries = dedupe(entries, "startTime"); entries.forEach((item, i) => { console.dir(item); console.log( `${i + 1} current LCP item : ${item.element}: ${item.startTime}`, ); item.element ? (item.element.style = "border: 5px dotted lime;") : ""; }); const lastEntry = entries[entries.length - 1]; console.log(`LCP is: ${lastEntry.startTime}`);});po.observe({type: "largest-contentful-paint", buffered: true});function dedupe(arr, key) { return [...new Map(arr.map((item) => [item[key], item])).values];}
Time To First Byte
第一个字节的时间 (TTFB) 是一种测量值,用于暗意收集做事器或其他收集资源的反映智商。 TTFB 测量从用户或客户端发出 HTTP 央求到客户端浏览器收到页面第一个字节的握续时间。
// Measure the time to first byte of all the resources loaded// https://webperf-snippets.nucliweb.netnew PerformanceObserver((entryList) => { const [pageNav] = entryList.getEntriesByType("navigation"); console.log(`TTFB (ms): ${pageNav.responseStart}`);}).observe({ type: "navigation", buffered: true,});
Scripts Loading
列出 DOM 中的通盘 并融会一个表格以稽查是否加载了异步、蔓延和 / 或 type="module":
const scripts = document.querySelectorAll("script[src]");const scriptsLoading = [...scripts].map((obj) => { return { src: obj.src, async: obj.async, defer: obj.defer, module: obj.type === 'module'AG真人百家乐怎么玩, "render blocking": obj.async