Web前端开发必备--浏览器知识科普

做前端开发的程序员一定要熟悉各种浏览器的内核,以了解各种浏览器的兼容性,浏览器自带的特性,这样才能做出更好的兼容性设计以及代码撰写。

浏览器的种类,如果按照生产商的品牌分,不说数以万计,起码也有成百上千种了, 如果按浏览器核心分类,它的种类就会少的多。 当今浏览器核心的种类值得一体的大约只有三到四个,它们分别是:Trident、Gecko、WebKit和Presto。 乍一看,似乎都很陌生,其实并不然,只要你上过网,就至少用过其中一种浏览器核心的浏览器软件,因为它们的市场占有率的确是太高了。

一、Trident核心,代表产品Internet Explorer

说起Trident,很多人都会感到陌生,但提起IE(Internet Explorer)则无人不知无人不晓,由于其被包含在全世界使用率最高的操作系统Windows中,得到了极高的市场占有率,所以我们又经常称其为IE核心。 Trident(又称为MSHTML),是微软开发的一种排版引擎。它在1997年10月与IE4一起诞生,至今经历12年,至少更新了四个版本,虽然它相对其它浏览器核心还比较落后,但Trident一直在被不断地更新和完善。而且除IE外,许多产品都在使用Trident核心,比如Windows的Help程序、RealPlayer、Windows Media Player、Windows Live Messenger、Outlook Express等等都使用了Trident技术。 但并不是所有的IE都使用Trident引擎,微软还有另一个网页浏览器排版引擎,叫做Tasman,它是使用在Internet Explorer for Mac的排版引擎,即苹果版的IE引擎。 使用Trident引擎的浏览器有很多,比如Internet Explorer、Maxthon遨游、世界之窗、腾讯TT、Netcapter、Avant等等,但Trident只能应用于Windows平台,且是不开源的。

二、Gecko核心,代表作品Mozilla Firefox

Gecko也是一个陌生的词,但Firefox的名声应该已经有所耳闻,Gecko是一套开放源代码的、以C++编写的网页排版引擎。 目前为Mozilla家族网页浏览器以及Netscape 6以后版本浏览器所使用。这软件原本是由网景通讯公司开发的,现在则由Mozilla基金会维护。它的最大优势是跨平台,能在Microsoft Windows、Linux和MacOS X等主要操作系统上运行,而且它提供了一个丰富的程序界面以供互联网相关的应用程式使用,例如网页浏览器、HTML编辑器、客户端/服务器等等。 Gecko是最流行的排版引擎之一,仅次于Trident。使用它的最著名浏览器有Firefox、Netscape6至9。

三、WebKit核心,代表作品Safari、Chrome

webkit 是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,主要用于Mac OS系统,它的特点在于源码结构清晰、渲染速度极快。主要代表作品有Safari和Google的浏览器Chrome。

四、Presto核心,代表作品Opera

Presto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。 Presto在推出后不断有更新版本推出,使不少错误得以修正,以及阅读Javascript效能得以最佳化,并成为速度最快的引擎,这也是Opera被公认为速度最快的浏览器的基础。

五、扩展阅读-壳子浏览器  俗话就是换了外壳包装下出来忽悠的浏览器

现在还有很多壳子浏览器,自己本身不带内核,而是直接调用本机其他浏览器的内核,来实现浏览的功能。由于IE浏览器在国内的普及率非常高,所以造成了很多网上银行和支付系统只支持IE的Trident内核,其他浏览器访问根本无法进行正常支付和转账等业务。很多浏览器开发商就运用了壳子浏览器的特性推出了“双核”浏览器,带有两种浏览模式,其原理就是本身带一内核,开启兼容模式后,调用本机上的ie内核,来实现双引擎功能。其中代表产品有搜狗浏览器、傲游3、QQ浏览器等。这种浏览器的好处在访问支付宝或者网上银行的时候,使用Trident内核的“兼容模式”来进行业务。这样一个浏览器多个内核,满足同一用户的不同需求。

内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”。它负责取得网页的内容(HTML、XML、图像等等)、整理信息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要排版引擎。

不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

六、简单总结

1、使用Trident内核的浏览器:IE、Maxthon、TT、The World等;

2、使用Gecko内核的浏览器:Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;

3、使用Presto内核的浏览器:Opera7及以上版本;

4、使用Webkit内核的浏览器:Safari、Chrome。

 想学习Web前端开发吗 ?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdxyw.html