Open nodisappear opened 1 year ago
尽量不要在修改 DOM 结构时查询相关值,可以先查询再修改!
强制同步布局:在当前脚本执行过程中触发样式计算和重新布局
布局抖动:在当前脚本额执行过程中重复执行计算样式和布局
WebComponent组件化开发:对局部视图进行封装,涉及技术包括:Custom elements、Shadow DOM 和 HTML Templates,通过影子 DOM 实现了 CSS 和 元素的封装
Lighthouse
Performance
【收集一些解决问题的思路】
一. 性能优化的思路 - 对症下药(搞清楚“性能瓶颈”在哪里?)
【收集一些清晰的图解】
一. innerHTML 与 innerText
【收集一些 HTML5 的知识点】
语义化标签 (1)延伸言语表达,突出重点,消除歧义 (2)语义化的标题摘要能够支持自动生成文章的目录结构 (3)语义化结构的页面能让浏览器很好地支持“阅读视图功能”,可以提升搜索引擎的命中率,对视障用户的读屏软件更友好,
<ruby>
文字<rt>标注</rt>
</ruby>
<hgroup>
<h1>主标题</h1>
<h2>副标题</h2>
</hgroup>
<header>导航/介绍</header>
<aside>与文章主题非强关联的部分(侧边栏、导航/广告)</aside>
<address>文章/作者的联系方式</address>
<footer>作者信息/版权信息/相关链接</footer>
【收集一些 浏览器 的知识点】
合成线程维护一个 Raster 线程池,其中的每个线程(Rasterize) 用来执行光栅化操作(Raster Paint),由于光栅化操作不是在Rasterize 中直接执行而是在 GPU 线程中执行,所以需要保持通信
浏览上下文组是指具有相互连接关系的标签页,如旧标签页通过 window.open 或 打开新标签页
Chrome 浏览器会将浏览器上下文组中属于同一站点的标签分配到一个渲染进程中
Chromium 的任务调度策略:在不同场景下,动态调整多个消息队列的优先级,满足核心需求 默认指的是:页面解析、JS 脚本执行等
任务饿死:是指一直有新的高优先级任务加入导致低级任务得不到执行,为解决这个问题,Chromium 给每个队列设置了执行权重,当连续执行了一定个数的高优先级任务时会执行一次低优先级任务
通过window.performance获取页面性能信息: performance.navigation
performance.timing / window.performance.getEntriesByType("navigation") https://www.w3.org/TR/navigation-timing/#sec-navigation-timing
performance.memory
performance.timeOrigin
W3C规范的全部类型(关键看是否被官方认可)
让你的网页更丝滑: https://zhuanlan.zhihu.com/p/67728054 https://zhuanlan.zhihu.com/p/66398148
https://www.w3.org/TR/navigation-timing/
https://cloud.tencent.com/developer/article/2023207
同一站点:协议 + 根域名
浏览器的导航过程:从 用户发起请求 到 提交文档给渲染进程
通过performance timing计算时间: http://www.alloyteam.com/2015/09/explore-performance/