【浏览器中的页面】
浏览器中的页面 一、DOM树 1、在渲染引擎中,DOM有三个层面的作用: DOM是表述HTML的内部数据结构,它会将Web页面和JavaScript脚本连接起来,并过滤一些不安全的内容 2、DOM树如何生成: 网络进程和渲染进程建立一个管道,HTML解析器直接解析,不需要等待text/html类型的数据全部接受完毕再进行解析 3、HTML 解析过程 ①通过分词器将字节流转换为token ②将token解析为DOM节点 (将token压入栈中,然后一个一个分析) ③将DOM节点添加到DOM树中 4、JavaScript如何影响DOM生成 暂停HTML解析,下载解析执行完毕后再继续进行html解析 (如果执行js代码期间遇到CSSDOM,则需要等待CSS 下载加载完成) 为了快速执行js,在DOM生成前,会有个预解析操作(当渲染引擎收到第一个字节流后,会开启一个预解析线程,用来分析HTML文件包含的JS,CSS等相关文件,并提前下载) CSS样式文件本身不会阻塞DOM生成,但是JS会阻塞DOM生成,而CSS样式文件会阻塞JS执行 5、渲染引擎有一个安全检查模块叫XSSAuditor,用来检查词法安全 二、CSS如何影响首次加载时的白屏时间 CSSDOM作用: 提供给Javascript操作样式表的能力 为布局树的合成提供基础的样式信息 URL 请求开始,到首次显示页面的内容