浏览器引擎
编辑浏览器引擎(也被称为一个布局引擎或渲染引擎)是核心软件组件每一个主要的网络浏览器。浏览器引擎的主要工作是将HTML文档和网页的其他资源转换为用户设备上的交互式视觉表示。
名称和范围
编辑浏览器引擎不是独立的计算机程序,而是大型程序(例如Web浏览器)的重要组成部分,该术语是从该程序衍生而来的。(“引擎”一词类似于汽车的引擎。)
除“浏览器引擎”外,关于相关概念还有两个常用术语:“布局引擎”和“渲染引擎”。理论上,布局和渲染(或“绘画”)可以由单独的引擎处理。但是实际上,它们紧密耦合,很少单独考虑。
除了布局和呈现之外,浏览器引擎还执行文档之间的安全策略,处理通过超链接和通过表单提交的数据的导航,并实现公开给页面脚本的文档对象模型(DOM)数据结构。
但是,执行JavaScript(JS)代码是另一回事,因为每个主要的Web浏览器都为此使用专用的引擎。JS语言最初是为在浏览器中使用而创建的,但现在也已在其他地方使用,因此JS引擎的实现与浏览器引擎脱钩了。在Web浏览器中,两个引擎通过共享的DOM数据结构协同工作。
浏览器引擎还用于Web浏览器以外的其他类型的程序。电子邮件客户端需要它们显示HTML电子邮件。由Google Chrome浏览器的两个引擎提供支持的Electron框架已用于创建许多应用程序。
布局和渲染
编辑网页的布局通常由级联样式表(CSS)指定。每个样式表都是浏览器引擎解释的一系列规则。例如,一些规则指定印刷术详细信息,例如字体、颜色和文本大小。该引擎结合了所有相关的CSS规则,以计算将要绘制在屏幕上的视觉表示的精确图形坐标。
在下载页面的所有资源之前,某些引擎可能会开始渲染。随着接收到更多的数据,这可能导致视觉变化,例如图像逐渐被填充或未样式化内容的闪烁。
著名的引擎
编辑Gecko是Mozilla的浏览器引擎,用于其Firefox Web浏览器、Thunderbird电子邮件客户端和SeaMonkey Internet Suite。Goanna是Pale Moon浏览器中使用的Gecko的分支。
苹果通过派生KDE项目的KHTML引擎为其Safari浏览器创建了WebKit引擎。
Google最初将WebKit用于其Chrome浏览器,但最终将其分叉以创建Blink引擎。所有基于Chromium的浏览器都使用Blink,使用CEF、Electron或嵌入Chromium的任何其他框架构建的应用程序也是如此。
尽管Apple允许第三方浏览器替代iOS设备上的Safari,但通过其App Store分发的所有浏览器都必须使用WebKit作为其引擎。例如,适用于iOS的Opera Mini使用WebKit,而所有其他Opera变体都使用Blink。(Opera以前使用自己的专有 Presto引擎。)
Microsoft维护自己的专有EdgeHTML引擎,它是Trident引擎的后继者。但是,EdgeHTML现在仅用于通用Windows平台应用程序,因为使用Blink引擎重新构建了Edge浏览器。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/115488/