浏览器兼容性测试.docx
《浏览器兼容性测试.docx》由会员分享,可在线阅读,更多相关《浏览器兼容性测试.docx(16页珍藏版)》请在冰点文库上搜索。
浏览器兼容性测试
浏览器兼容性测试
2012-8-2
Administrator
1.浏览器内核介绍
1.1浏览器内核概念
浏览器最重要或者说核心的部分是“RenderingEngine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。
负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。
所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。
1.2主流浏览器内核介绍
浏览器内核很多,如果加上所有的几乎没有什么人在用的非商业的免费内核,那么可能大约有10款以上甚至更多,不过通常我们比较常见的大约只有以下四种,下面先简单介绍一下。
1.2.1Trident
Trident:
IE浏览器使用的内核,该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的IE9。
Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现(如360浏览器、Maxthon、TheWorld、TT、GreenBrowser、AvantBrowser等)。
此外,为了方便也有很多人直接简称其为IE内核(当然也不排除有部分人是因为不知道内核名称而只好如此说)。
由于IE本身的“垄断性”(虽然名义上IE并非垄断,但实际上,特别是从Windows95年代一直到XP初期,就市场占有率来说IE的确借助Windows的东风处于“垄断”的地位)而使得Trident内核的长期一家独大,微软很长时间都并没有更新Trident内核,这导致了两个后果——一是Trident内核曾经几乎与W3C标准脱节(2005年),二是Trident内核的大量Bug等安全性问题没有得到及时解决,然后加上一些致力于开源的开发者和一些学者们公开自己认为IE浏览器不安全的观点,也有很多用户转向了其他浏览器,Firefox和Opera就是这个时候兴起的。
非Trident内核浏览器的市场占有率大幅提高也致使许多网页开发人员开始注意网页标准和非IE浏览器的浏览效果问题。
自从发布后,Trident不断地被更新和完善:
TridentII(IE5)——增进对CSS1.0的支持及对CSS2重大的变更;
TridentIII(IE5.5)——修正部分CSS的排版控制;
TridentIV(IE6)——修正了一部分box-model的错误以及增加了“兼容模式(QuirksMode)”切换功能,以增加对文件类型描述(DocumentTypeDefinition,DTD)的支持;
TridentV(IE7)——修正许多CSS排版处理上的错误以及增加对PNG格式alpha通道(半透明)的支持。
1.2.2Gecko
Gecko:
Netscape6开始采用的内核,后来的MozillaFireFox(火狐浏览器)也采用了该内核,Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。
因为这是个开源内核,因此受到许多人的青睐,Gecko内核的浏览器也很多,这也是Geckos内核虽然年轻但市场占有率能够迅速提高的重要原因。
事实上,Gecko引擎的由来跟IE不无关系,前面说过IE没有使用W3C的标准,这导致了微软内部一些开发人员的不满;他们与当时已经停止更新了的Netscape的一些员工一起创办了Mozilla,以当时的Mosaic内核为基础重新编写内核,于是开发出了Geckos。
不过事实上,Gecko内核的浏览器仍然还是Firefox(火狐)用户最多,所以有时也会被称为Firefox内核。
此外Gecko也是一个跨平台内核,可以在Windows、BSD、Linux和MacOSX中使用。
1.2.3Presto
Presto:
目前Opera采用的内核,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。
实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况下被重新解析。
此外该内核在执行Javascrīpt的时候有着最快的速度,根据在同等条件下的测试,Presto内核执行同等Javascrīpt所需的时间仅有Trident和Gecko内核的约1/3(Trident内核最慢,不过两者相差没有多大)。
那次测试的时候因为Apple机的硬件条件和普通PC机不同所以没有测试WebCore内核。
只可惜Presto是商业引擎,使用Presto的除开Opera以外,只剩下NDSBrowser、WiiInternetChannle、Nokia770网络浏览器等,这很大程度上限制了Presto的发展。
1.2.4Webkit
Webkit:
苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。
Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。
所以Webkit也是自由软件,同时开放源代码。
在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。
限于MacOSX的使用不广泛和Safari浏览器曾经只是MacOSX的专属浏览器,这个内核本身应该说市场范围并不大;但似乎根据最新的浏览器调查表明,该浏览器的市场甚至已经超过了Opera的Presto了——当然这一方面得益于苹果转到x86架构之后的人气暴涨,另外也是因为Safari3终于推出了Windows版的缘故吧。
Mac下还有OmniWeb、Shiira等人气很高的浏览器。
google的chrome、360极速浏览器以及搜狗浏览器高速模式也使用webkit作为内核。
WebKit内核在手机上的应用也十分广泛,例如Google的手机Gphone、Apple的iPhone,Nokia’sSeries60browser等所使用的Browser内核引擎,都是基于WebKit。
1.3排版引擎
1.3.1WebCore
WebCore是苹果公司开发的排版引擎,它是在另外一个排版引擎“KHTML”的基础上而来的。
苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。
后来发表了开放源代码的WebCore及WebKit引擎,它们均是KHTML的衍生产品。
使用WebCore的主要有Safari,此外还有OmniWeb、Shiira、Swift等。
1.3.2KHTML
KHTML,是HTML网页排版引擎之一,由KDE所开发。
KDE系统自KDE2版起,在档案及网页浏览器使用了KHTML引擎。
该引擎以C++编程语言所写,并以LGPL授权,支援大多数网页浏览标准。
由于微软的InternetExplorer的占有率相当高,不少以FrontPage制作的网页均包含只有IE才能读取的非标准语法,为了使KHTML引擎可呈现的网页达到最多,部分IE专属的语法也一并支援。
KHTML拥有速度快捷的优点,但对错误语法的容忍度则比Mozilla产品所使用的Gecko引擎小。
苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。
后来发表了开放源代码的WebCore及WebKit引擎,它们均是KHTML的衍生产品,在开发网站列出引擎改变内容,并会传回至KDE计划。
由于两个衍生产品各走不同路线,使两者源代码偏离,在与KDE交换更新会出现困难。
其中一个原因,是苹果在对外公开源代码之前,以一年时间编修他们的KHTML。
另外,苹果传送更新至KDE计划的方式,多是一口气把大量改动一起传送,KDE在整理资料也出现一定的困难,及后苹果表示会以CVS格式来传送。
再者,苹果所作出的改动包括MacOSX系统独有的事物,如Objective-C、KWQ等,在Linux及KHTML是没有的。
但KDE方面仍透过这些改动,为KHTML加入新功能及加快其排版速度。
基于KHTML内核的内核:
WebKit、WebCore。
2.主流浏览器所用内核简介
使用Trident内核的浏览器:
IE、Maxthon、TT、TheWorld,360,搜狗浏览器等;
使用Gecko内核的浏览器:
Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;
使用Presto内核的浏览器:
Opera7及以上版本、NDSBrowser、WiiInternetChannle;
使用Webkit内核的浏览器:
Safari、Chrome。
各主流浏览器内核使用分布
2.1Firefox浏览器
MozillaFirefox,非正式中文名称火狐,是一个开源网页浏览器,使用Geckos引擎(即非ie内核),由Mozilla基金会与数百个志愿者所开发。
原名“Phoenix”(凤凰),之后改名“MozillaFirebird”(火鸟),再改为现在的名字。
Firefox是Mozilla基金会开发的一个轻便、快速、简单与高扩充性的浏览器。
2.1.1Redfox浏览器
Redfox是经过定制后的绿色安装增强FireFox版本,其特点如下:
采用正式版代码编译优化,支持部分非标准网站;不写注册表,可以方便的拷贝移动或者删除;加入了大量常用扩展供大家在安装的时候选择;对原有FireFox的错误和不方便设置进行了修正;调整了部分次参数进一步加快FireFox的浏览速度。
2.1.2Madfox浏览器
Madfox是一个基于Firefox的浏览器。
Firefox是一个非常优秀的浏览器,但是由于我们周围有很多不符合互联网标准的网站,从而在很大程度上阻碍了Firefox的推广。
对于标准和非标准,无论是技术还是非技术层面,都有着非常激烈的争论。
Madfox项目的目的,是希望仅从技术的角度出发,通过扩展Firefox,尝试去兼容不符合标准和规范的网站。
2.2InternetExplorer(IE)
是美国微软公司(Microsoft)推出的一款网页浏览器。
采用Trident内核。
最初是从早期一款商业性的专利网页浏览器SpyglassMosaic派生出来的产品。
在1996年,微软通过给予季度费用和部分收入从Spyglass中取得了SpyglassMosaic的授权。
2.2.16.0版本
6.0版本于2001年8月27日发布,距WindowsXP正式发布日的数星期前发布。
这版本包含增强版DHTML、内联网页框架的内容限制和部分支持CSSlevel1、DOMlevel1和SMIL2.0。
MSXML引擎会更新到3.0版本。
其他新的特征包含一个新版本的IEAK、媒体列和WindowsMessenger综合版、错误收集、自动化重整图片大小、P3P和一个新的外观,能配合WindowsXP的"Luna"界面。
于2002年,Gopher的功能被禁用,7.0版本更取消了对Gopher的支持。
2.2.27.0版本
WindowsVistaBeta1上的InternetExplorer7.0Beta1在2005年2月15日,微软主席比尔·盖茨于旧金山的RSA讨论会中,宣布新版本浏览器将会发布。
推出新浏览器的原因是InternetExplorer的市场占有率逐渐被MozillaFirefox侵蚀。
此外,微软宣布7.0版本只可以用于WindowsXPSP2和之后的操作系统中,包括WindowsServer2003SP1和WindowsVista。
InternetExplorer的第一个预览版本于2005年7月27日推出,主要用于技术测试。
而第一个向大众的测试版本于2006年1月31日推出,版本是Beta2preview。
最后的公开测试版本于2006年10月18日推出。
7.0版本预期可以保护用户于钓鱼式攻击和其他的恶意软件。
用户可以完全控制ActiveX和更佳的保安架构,包括与Windows系统分开,不像以往般紧密融合,从而提高安全性。
另外,新版本包括收复了一些程序中的错误,加强对各网际标准的支持,增进支持HTML4.01/CSS2,新加入分页浏览,还有一个支持各搜索引擎的搜寻方块,一个Web-feed阅览器,支持国际化域名,和反钓鱼式攻击过滤器。
它甚至可以挡掉一些程序类型,例如Flash电影和Java。
2008年2月12日,微软以“安全原因”将通过WindowsServerUpdateServices把所有Windows系统的浏览器强制升级到7.0版本。
2.2.38.0版本
北京时间2008年3月6日,微软发布了InternetExplorer8的第一个公开测试版本(beta1)。
本次测试第一次包涵简体中文(3月27日推出)版本。
测试版本仍然是在IE7的架构下改进的。
界面除了做一些细微的调整,增加少许实用功能外,并无改进。
beta1版本推出了模拟IE7的模式、增加了在线邮件浏览功能、提高了兼容性、反钓鱼功能进一步增强,可以进行网页地址筛选。
北京时间8月28日
消息,据国外媒体报道,微软周三发布了功能完备的升级版IE8Beta2。
微软称,IE8Beta2的新特性是加强了隐私保护,并提高了使用舒适性及安全性。
微软3月份发布了IE8Beta1,但目的只是向网络开发者展示这一最新IE版本,Beta2则旨在向更多用户进行展示。
微软没有透露将于何时正式推出IE8,也并未对会有多少用户下载Beta2作出预测。
微软在当地时间2009年1月26日,也就是我们的农历新年时正式发布了IE8RC1。
此次的IE8RC1,是IE8的最后一个测试版,微软目前已在其下载中心提供IE8RC1的下载。
该版本可用于32位Vista、64位Vista和WindowsXP,任何用户都可下载、试用,但是此次的改进与发行说明尚未更新。
此次发布的IE8RC1只支持WindowsXP和WindowsVista,而不支持Windows7。
微软网站从美国西部时间3月19日上午9点,北京时间3月20日0点开始提
供IE8免费下载,IE8正式版最终问世。
IE8正式版可以安装在WindowsVista系统以及WindowsXP系统中,而微软新的操作系统Windows7,IE8浏览器将被捆绑安装其中。
IE8的新功能之一是一种为“InPrivate”的浏览模式。
这种浏览模式能够不留下用户PC的指纹。
微软希望利用IE8新增加的功能夺回在浏览器市场失去的市场份额。
IE8新增加功能包括隐私浏览、改善的安全和名为加速器的新型插件。
在安全方面,微软增加了跨站脚本过滤器并且增加了防御“点击劫持”攻击的功能。
2.2.49.0版本
IE9利用PC的图形处理单元(GPU)优势去加速文字和图形的渲染能
WindowsInternetExplore9
力、加强标签浏览、可伸缩矢量图形(SVG)以外,IE9更遵守网页浏览标准,特别是对HTML5标准的支持。
IE9的性能表现大幅提高,从而在运行速度上缩短IE同火狐、Chrome等竞争产品的差距。
微软于2011年3月15日(北京时间)在SXSW互动大会正式发布了InternetExplorer9.0 。
IE9界面
IE9.0支持WindowsVista和Windows7,但并不支持WindowsXP。
IE9最新的改变包括硬件加速的HTML5和Windows7无缝的集成、新UI界面、更加出色的安全保护和隐私保护.、对存在诟病了加载项进行了改进、改进了开发工具以及全新淡雅的LOGO。
2.3GoogleChrome
GoogleChrome,又称Google浏览器,是一个由Google(谷歌)公司开发的开放原始码网页浏览器。
该浏览器是基于其他开放原始码软件所撰写,包括WebKit和Mozilla,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。
使用Webkit内核。
软件的名称是来自于称作Chrome的网路浏览器图形使用者界面(GUI)。
软件的beta测试版本在2008年9月2日发布,提供43种语言版本,有支持Windows平台、MacOSX和Linux版本提供下载。
中文名:
谷歌浏览器
外文名:
GoogleChrome
开发商:
谷歌
发行商:
谷歌
发行时间:
2008年9月2日
编程语言:
C++、汇编语言、Javascript
支持平台:
Windows、Linux和Mac
渲染引擎:
WebKit(基于KHTML)
语言版本:
50种语言
开源免费版:
Chromium
2.3.1GoogleChrome市场份额
2012年5月21日消息,据国外媒体报道,据爱尔兰分析公司StatCounter的调查显示,谷歌Chrome浏览器在上周成功超越微软IE,成为全球第一大浏览器,Firefox、Safari、Opera分别位居三、四、五位。
数据显示,今年5月Chrome浏览器的全球份额约为33%,超越IE的32%位居榜首。
Firefox份额缓慢下跌,全球份额约为25%,苹果的Safari及Opera浏览器份额均不足10%。
2.3.2GoogleChrome版本分支
目前,“GoogleChrome”存在五个版本分支:
StableChannel(稳定版/正式版):
适合追求稳定的普通用户使用。
BetaChannel(测试版):
适合喜欢较稳定又可尝鲜的朋友下载使用。
该版本是新的正式版发布前的公开测试所用,版本上的新功能不会作太多修改,主要为安全上的测试,但可能会存在不稳定情况。
DevChannel(开发版):
适合开发人员使用。
主要为功能上的测试,可能存在稳定性问题,通常更新速度为一周一次。
CanaryBuild(金丝雀版):
仅适合开发人员或追求最新版本的用户使用。
2010年7月加入,比开发版更新快但更不稳定,相对的也会加入更多测试性的新功能。
CanaryBuild有一个特色是它可以独立安装,不会覆盖原本的“GoogleChrome”版本,让系统中可以同时拥有两套安装版“GoogleChrome”。
ChromeLite(移动简化版):
被运用于Android操作系统中。
2.4Safari
Safari是苹果公司所开发的网页浏览器,并内建于MacOSX。
Safari使用了KDE的KHTML作为浏览器的运算核心。
MacOSX中的图形技术能确保系统中所有软件,从iPhoto到FInalCutPro输出的图片都绚丽无比。
Safari是唯一采用高级色彩管理、以最准确的色彩显示网络图片的浏览器。
Safari在2003年1月7日首度发行测试版,并成为MacOSXv10.3与之后的默认浏览器,也是iPhone与iPodtouch的指定浏览器。
图标外形是一个指南针。
Windows版本的首个测试版在2007年6月11日推出,支援WindowsXP与WindowsVista,在2008年3月18日推出正式版。
safari浏览器目前是全球三大浏览器之一
Safari使用苹果自家的WebKit来进行网页排版及执行JavaScript,当中WebKit内含WebCore排版引擎及JavaScriptCore引擎,分别从KDE的KHTML及KJS引擎衍生而来。
WebCore及JavaScriptCore与KHTML及KJS一样,同是自由软件,并以LGPL方式授权。
苹果对KHTML的一些改进会并入Konqueror计划。
另外,苹果方面也推出了附加的源始码,以类似BSD执照般的开放源代码方式授权。
2.5360安全浏览器
360安全浏览器是360安全中心推出的一款基于IE内核的浏览器,是世界之窗开发者凤凰工作室和360安全中心合作的产品[1],其沙盘安全技术来自与Sandboxie的合作。
360安全浏览器自称“最安全的浏览器”、“中国大陆除了IE以外使用者最多的浏览器。
简单的比喻就是世界之窗+Sandboxie的OEM版。
360极速浏览器是360安全中心推出的一款基于Chromium开源项目的浏览器,也是基于世界之窗浏览器的再次开发产品,自称是全球首个无缝衔接Chrome和IE的浏览器。
其界面与GoogleChrome浏览器十分相似。
但是360为它添加了一些符合国内用户习惯的一些功能。
2.6基于多内核的浏览器
2.6.1傲游浏览器3(Maxthon3.0+)
傲游浏览器3.0是国内首先尝试使用Webkit与Trident双核心的浏览器。
Webkit核心将使你打开网页的速度更快,Trident核心则会带给你更好的兼容性支持。
除此之外,傲游3.0目前还包括智能填表、智能地址栏、弹窗过滤、在线收藏等功能。
2.6.2QQ浏览器6.11
QQ浏览器6.11是腾讯公司推出的新一代浏览器,使用极速(Webkit)和普通(Trident)双浏览模式,设计了全新的界面交互及程序框架,目的是为用户打造一款快速、稳定、安全、网络化的优质浏览器。
2.6.3搜狗高速浏览器(3.0+)
搜狗浏览器,搜狐出品,使用高速(webkit)和兼容(Trident)双浏览模式,保证良好兼容性的同时极大提升网页浏览速度。
当采用高速模式访问网页出现问题时,可点击地址栏旁边的内核按钮直接切换内核,使用兼容性更佳的兼容模式正常浏览网页。
2.6.4Lunascape(5.0+)
Lunascape浏览器,是日本Lunascape公司出品的三引擎浏览器。
可在浏览器中自由切换三种渲染引擎:
Trident(IE)、Gecko(Firefox)和WebKit,最大地保证了浏览器的兼容性和稳定、快速的特点。
此浏览器还获得数个奖项,号称世界首款融合了3种内核、运行速度最快的浏览器。
其充分应用了web2.0的时代特征,将浏览器与各种网络服务进行了无缝集成,并携带了多种革命性的功能。
如高性能的选项卡式浏览、方便快捷的鼠标手势、RSS订阅、防止意外崩溃功能、IE工具栏支持、直接导入设置从多种浏览器中、自动删除个人信息、多种自定义外观、支持视频共享网站与SNS网站的插件、3种内核自由切换等等。
总之,Lunascape可以让您在日常生活中的各种事物均可直接在浏览器内完成。
主流浏览器所使用的内核分类
3.浏览器构成
渲染流程
主流浏览器所使用的内核分类
Engine
Creator
Softwarelicense
Leadingapplication
Gecko
Netscape/MozillaFoundation
MPL/GNUGPL/GNULGPL tri-license
MozillaFirefox
KHTML
KDE
GNULGPL
Konqueror
Presto
OperaSoftware
Proprietary
Opera
Tasman
Microsoft
Propriet