浏览器工作原理

一、工作原理
JavaScript代码在浏览器中是如何执行的?
首先浏览器会下载JavaScript代码,但不是直接一下子全部下载,比如输入一个域名,经过dns服务器的解析之后,它会映射到一个IP地址。
然后服务器会返回一个html的网页,在此过程中,如果遇见link标签,会去下载css文件,如果遇见script标签,会去下载JavaScript文件。
在这里插入图片描述
二、浏览器内核
1、如何将浏览器中下载下来的html、css、js代码解析为一个在浏览器中前台展示的页面,这就是浏览器内核的工作。
2、不同的浏览器有不同的内核。
目前用的最多的是Blink,是WebKit的一个分支,Google开发,目前应用于Google Chrome、Edge、Opera等
3、浏览器内核其实指的就是浏览器的排版引擎(layout engine),也称为浏览器引擎(browser engine)、页面渲染引擎(rendering engine)或者样版引擎。

三、浏览器渲染过程
JavaScript是可以对dom进行操作的,在这个执行过程中,html解析时候如果遇到了JavaScript标签,会停止解析html,而去加载和执行JavaScript代码,通过DOM指令来操作DOM tree中的DOM元素。
在这里插入图片描述
首先,html文件是最先被下载下来的,然后经过浏览器内核中的HTML Parser的解析,将html代码生成一个DOM tree。一旦遇到JavaScript标签,就要停止html的解析,转而去操作DOM Tree中的DOM元素,执行JS代码。
然后我们还会遇到很多的css的标签,经过CSS Parser去解析css规则,最终和DOMTree结合在一起,附加成为渲染树。在渲染的同时,还需要针对不同浏览器对页面进行重新布局。不同的浏览器的宽度不同,需要根据当前浏览器的状态重新布局,通过布局引擎生成最终的render tree。
最后再页面中对渲染树进行绘制和最终的展示。
这里涉及到一个问题就是:JavaScript代码由谁来执行?===>JavaScript引擎

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值