(8) 百度浏览器、世界之窗内核:IE 内核;
(9) 2345浏览器内核:好像以前是 IE 内核 , 现在也是 IEChrome 双内核了;
(10)UC 浏览器内核:这个众口不一 , UC 说是他们自己研发的 U3 内核,但好像还是基于 Webkit 和 Trident,还有说是基于火狐内核 。
5. 浏览器的主要组成部分
?户界? - 包括地址栏、前进/后退按钮、书签菜单等 。除了浏览器主窗?显示的您请求的??外,其他显示的各个部分都属于?户界? 。
浏览器引擎 - 在?户界?和呈现引擎之间传送指令 。
呈现引擎 - 负责显示请求的内容 。如果请求的内容是 HTML,它就负责解析 HTML 和 CSS 内容 , 并将解析后的内容显示在屏幕上 。
?络 - ?于?络调?,?如 HTTP 请求 。其接?与平台?关,并为所有平台提供底层实现 。
?户界?后端 - ?于绘制基本的窗??部件,?如组合框和窗? 。其公开了与平台?关的通?接? , ?在底层使?操作系统的?户界??法 。
JavaScript 解释器 。?于解析和执? JavaScript 代码 。
数据存储 - 这是持久层 。浏览器需要在硬盘上保存各种数据,例如 Cookie 。新的 HTML 规范 (HTML5) 定义了“?络数据库”,这是?个完整(但是轻便)的浏览器内数据库 。
值得注意的是,和?多数浏览器不同,Chrome 浏览器的每个标签?都分别对应?个呈现引擎实例 。每个标签?都是?个独?的进程 。
五、浏览器渲染原理
1. 浏览器的渲染过程
浏览器渲染主要有以下步骤:
首先解析收到的文档,根据文档定义构建一棵 DOM 树,DOM 树是由 DOM 元素及属性节点组成的 。
然后对 CSS 进行解析,生成 CSSOM 规则树 。
根据 DOM 树和 CSSOM 规则树构建渲染树 。渲染树的节点被称为渲染对象 , 渲染对象是一个包含有颜色和大小等属性的矩形,渲染对象和 DOM 元素相对应,但这种对应关系不是一对一的,不可见的 DOM 元素不会被插入渲染树 。还有一些 DOM元素对应几个可见对象,它们一般是一些具有复杂结构的元素 , 无法用一个矩形来描述 。
当渲染对象被创建并添加到树中,它们并没有位置和大小 , 所以当浏览器生成渲染树以后,就会根据渲染树来进行布局(也可以叫做回流) 。这一阶段浏览器要做的事情是要弄清楚各个节点在页面中的确切位置和大小 。通常这一行为也被称为“自动重排” 。
布局阶段结束后是绘制阶段,遍历渲染树并调用渲染对象的 paint 方法将它们的内容显示在屏幕上 , 绘制使用 UI 基础组件 。
大致过程如图所示:
image
**注意:**这个过程是逐步完成的,为了更好的用户体验,渲染引擎将会尽可能早的将内容呈现到屏幕上,并不会等到所有的html 都解析完成之后再去构建和布局 render 树 。它是解析完一部分内容就显示一部分内容 , 同时,可能还在通过网络下载其余内容 。
2. 浏览器渲染优化
**(1)针对JavaScript:**JavaScript既会阻塞HTML的解析,也会阻塞CSS的解析 。因此我们可以对JavaScript的加载方式进行改变,来进行优化:
(1)尽量将JavaScript文件放在body的最后
(2) body中间尽量不要写
服务端返回如下(返回时即执行全局函数):
handleCallback({"success": true, "user": "admin"})
2)Vue axios实现:
this.$http = axios;
this.$http.jsonp('http://www.domain2.com:8080/login', {
params: {},
jsonp: 'handleCallback'
}).then((res) => {
console.log(res);
})
后端node.js代码:
var querystring = require('querystring');
var http = require('http');
- 筑基金丹元婴类修真小说推荐 讲里面有金丹元婴境界是哪部
- 面对非正义行为我们应该怎么做
- 九月份种植的蔬菜有哪些?
- 天涯何处无芳草.何必单恋一枝花 天涯何处无芳草何必单恋一枝花后面怎么说
- 美白面膜用多了会怎么样 美白面膜能天天敷吗?
- 水猴子图片真实图片 水鬼 水里面真的有水猴子存在吗
- 抖音里面最火28首歌 看看你喜爱的歌曲上榜了吗
- 京东帮人下单「京东给别人代下单骗局大揭秘解开神秘面纱」
- 早餐面粉的做法大全 用面粉做早餐有哪些做法
- 口才不好看什么书管用