热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

测试网页兼容性时如何选择浏览器

  最近有测试Web的项目,合理的选取测试的浏览器是个重大问题,于是翻了几天资料,主要从以下几个方面来选择测试的浏览器:1.浏览器的内核:使用到主流浏览器内核的浏览器需要测试2.各

  最近有测试Web的项目,合理的选取测试的浏览器是个重大问题,于是翻了几天资料,主要从以下几个方面来选择测试的浏览器:
1.浏览器的内核:使用到主流浏览器内核的浏览器需要测试
2.各浏览器在国内的市场占有率:主要参照了百度统计的数据
3.从项目需求角度出发选取各浏览器相应的版本

一、浏览器基础结构

(图片是网上找的,参考一下~)
《测试网页兼容性时如何选择浏览器》

  1. 用户界面 - 包括地址栏、后退/前进按钮、书签目录等,也就是除了用来显示你所请求页面的主窗口之外的其他部分。
  2. 浏览器引擎 - 用来查询及操作渲染引擎的接口。
  3. 渲染引擎 - 用来显示请求的内容,例如,如果请求内容为html,它负责解析html及css,并将解析后的结果显示出来。
  4. 网络 - 用来完成网络调用,例如http请求,它具有平台无关的接口,可以在不同平台上工作。
  5. UI后端 - 用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口。
  6. JS解释器 - 用来解释执行JS代码。
  7. 数据存储 - 属于持久层,浏览器需要在硬盘中保存类似COOKIE的各种数据,HTML5定义了web database技术,这是一种轻量级完整的客户端存储技术。

二、浏览器的内核

  浏览器内核是浏览器的核心,英文名为“Rendering Engine”直译为“渲染引擎”,主要负责HTML、CSS的解析。所以浏览器内核也称为“排版引擎”或“解析引擎”。
  目前主流的内核共有4种。如下:(注:2013之前是5种,其中Presto内核是Opera15以前版本的内核,在2013年后就不再使用了)

1.Trident

  主要代表浏览器:Internet Explorer, Microsoft Edge,2345加速浏览器,傲游浏览器,腾讯QQ浏览器、360浏览器、猎豹浏览器、世界之窗浏览器等。Trident内核最早在1997年被应用于IE4中,并一直沿用到IE11,其接口内核设计相当成熟,因此有许多采用IE内核的浏览器涌现。其中有不少浏览器的新版本采用了“双核”或者“多核”模式,其中一个是Trident内核,再加上另外一个其它的内核。

2.Gecko

  使用Gecko内核的浏览器主要是Firefox。它的特点是代码完全公开,全世界的程序员都可以给它添加功能。因为其开源性质,受到了许多人的青睐,这也是它迅速占有市场的重要原因之一。Gecko内核另外一个优势是跨平台,能在Windows、BSD、Linux和Mac OS X等操作系统上运行。

3.Webkit

  它是苹果公司自己的内核,也是Safari的内核。它的源码结构清晰、渲染速度极快,但对网页兼容性不高,会使一些编写不规范的网页无法正常显示。除了Safari使用Webkit内核外,Chrome、搜狗、猎豹等浏览也使用了Webkit内核。

4.Blink

  Blink是一个由Google和Opera Software开发的浏览器内核,这个渲染引擎是Webkit中WebCore组件的一个分支,它从Webkit中直接复制了一个版本,去除了与Chromium无关的Ports,将代码结构重新整理,提高了可读性,在Chrome28及以后、Opera15及以后的浏览器都使用到了Blink。

  以上是对目前主流内核的简单概括,如果需要详细了解的请自行Google~

三、部分浏览器内核及版本

  下面是我自己参照Wiki百科整理的一些主流浏览器的内核以及版本发展史,多表格预警!

1.Internet Explorer
发行年份发行版本使用内核
2001-2004IE6Trident4.0
2005-2006IE7Trident4.0
2009IE8Trident4.0
2011IE9Trident5.0(使用全新Javascript引擎“Chakra”)
2011-2012IE10Trident6.0(使用全新Javascript引擎“Chakra”)
2013-2015IE11Trident7.0(使用全新Javascript引擎“Chakra”)
2.Microsoft Edge
发行年份发行版本使用内核
2015Microsoft EdgeTrident(EdgeHTML[排版引擎]、Chakra[Javascript引擎])
3.2345加速浏览器
发行年份发行版本使用内核
2011-20162345王牌浏览器
20162345加速浏览器最新版使用IE、Chrome内核
4.傲游浏览器
发行年份发行版本使用内核
2005傲游1Trident与Gecko
2007傲游2Trident
2010傲游3Trident与Webkit双核
2012傲游Mac版Webkit
2012傲游云浏览器Trident与Webkit双核
5.腾讯浏览器
发行年份发行版本使用内核
2003-2009腾讯TT、4.0Trident
2010QQ浏览器5.0Trident与Webkit双核
2012QQ浏览器7.0Trident
2014QQ浏览器8.0Trident
2015-至今QQ浏览器9.0ChromiumV43-53(Trident与Webkit双核)
6.360浏览器
发行年份发行版本使用内核
2010-至今360极速浏览器Blink与Trident
2008-至今360安全浏览器基于IE内核
360安全浏览器-国密专版基于IE内核
360安全浏览器-抢票专版基于IE内核
7.猎豹浏览器
发行年份发行版本使用内核
2012猎豹1.0Chromium17(Trident与Webkit双核)
2012猎豹2.0Chromium21(Trident与Webkit双核)
2013猎豹3.0Chromium21(Trident与Webkit双核)
2013猎豹4.0Chromium21(Trident与Webkit双核)
2015猎豹极轻浏览器基于IE内核
8.世界之窗浏览器
发行年份发行版本使用内核
2004世界之窗1.0
2006世界之窗2.0
2009-2012世界之窗3
2012世界之窗4.3Chrome17
2012世界之窗5
2013世界之窗6.0Chromium28
2016世界之窗7.0Chromium48
9.搜狗浏览器
发行年份发行版本使用内核
2015搜狗浏览器6.0IE及Chromium内核(Trident与Webkit双核)
11.Firefox
发行年份发行版本使用内核
2014-2015Firefox36Gecko
Firefox36Gecko
Firefox37Gecko
Firefox38Gecko
Firefox39Gecko
Firefox40Gecko
Firefox41Gecko
Firefox42Gecko
Firefox43Gecko
2015-2016Firefox44Gecko
Firefox45Gecko
Firefox46Gecko
Firefox47Gecko
Firefox48Gecko
Firefox49Gecko
Firefox50Gecko
2016-2017Firefox51Gecko
Firefox52Gecko
2017Firefox53Gecko
Firefox54Gecko
Firefox55Gecko
Firefox56Gecko
Firefox57Gecko
Firefox58Gecko
Firefox59Gecko
12.Safari
发行年份发行版本使用内核
2010Safari5Webkit
2012Safari6Webkit
2013Safari7Webkit
2014Safari8Webkit
2015Safari9Webkit
2016Safari10Webkit
13.Google Chrome
发行年份发行版本使用内核
28以前Webkit
2013.728以后BlinkBlink
2013Chrome29Blink
2013Chrome30Blink
2013Chrome31Blink
2014Chrome32Blink
2014Chrome33Blink
2014Chrome34Blink
2014Chrome35Blink
2014Chrome36Blink
2014Chrome37Blink
2014Chrome38Blink
2014Chrome39Blink
2015Chrome40Blink
2015Chrome41Blink
2015Chrome42Blink
2015Chrome43Blink
2015Chrome44Blink
2015Chrome45Blink
2015Chrome46Blink
2015Chrome47Blink
2016Chrome48Blink
2016Chrome49Blink
2016Chrome50Blink
2016Chrome51Blink
2016Chrome52Blink
2016Chrome53Blink
2016Chrome54Blink
2016Chrome55Blink
2017Chrome56Blink
2017Chrome57Blink
2017Chrome58Blink
2017Chrome59Blink
2017Chrome60Blink
2017Chrome61Blink
2017Chrome62(最新稳定版本)Blink
2017Chrome63(最新测试版本)Blink
2017Chrome64(最新开发版本)Blink
14.Opera
发行年份发行版本使用内核
201215以前(Presto)Presto
201315以后(Blink)Blink
2013Opera15Blink
Opera16Blink
Opera17Blink
Opera18Blink
2014Opera19Blink
Opera20Blink
Opera21Blink
Opera22Blink
Opera23Blink
Opera24Blink
Opera25Blink
Opera26Blink
2015Opera27Blink
Opera28Blink
Opera29Blink
Opera30Blink
Opera31Blink
Opera32Blink
Opera33Blink
Opera34Blink
2016Opera35Blink
Opera36Blink
Opera37Blink
Opera38Blink
Opera39Blink
Opera40Blink
Opera41Blink
Opera42Blink
2017Opera43Blink
Opera44Blink
15.百度浏览器
发行年份发行版本使用内核
2011V1Blink与Trident
2012V2Blink与Trident
2012V3Blink与Trident
2013V4Blink与Trident
2013V5Blink与Trident
2014V6Blink与Trident
2014-2015V7Blink与Trident

以上的统计主要以浏览器的大版本为主。

四、浏览器市场占有率

《测试网页兼容性时如何选择浏览器》

第一次写博客,不足之处还请各位大神指教~


推荐阅读
  • Scrapy 爬取图片
    1.创建Scrapy项目scrapystartprojectCrawlMeiziTuscrapygenspiderMeiziTuSpiderhttps:movie.douban.c ... [详细]
  • 目录爬虫06scrapy框架1.scrapy概述安装2.基本使用3.全栈数据的爬取4.五大核心组件对象5.适当提升scrapy爬取数据的效率6.请求传参爬虫06scrapy框架1. ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 文章目录简介HTTP请求过程HTTP状态码含义HTTP头部信息Cookie状态管理HTTP请求方式简介HTTP协议(超文本传输协议)是用于从WWW服务 ... [详细]
  • 最近在学Python,看了不少资料、视频,对爬虫比较感兴趣,爬过了网页文字、图片、视频。文字就不说了直接从网页上去根据标签分离出来就好了。图片和视频则需要在获取到相应的链接之后取做下载。以下是图片和视 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • css元素可拖动,如何使用CSS禁止元素拖拽?
    一、用户行为三剑客以下3个CSS属性:user-select属性可以设置是否允许用户选择页面中的图文内容;user-modify属性可以设置是否允许输入 ... [详细]
  • pyecharts 介绍
    一、pyecharts介绍ECharts,一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部 ... [详细]
  • 前端提高篇(七十):SVG基本使用、基本样式、路径path
    SVG是使用XML来描述二维图形和绘图程序的语言。SVG遵循的是xml的规范,与html5的使用有所区别SVG绘制出来的是矢量图,放大之后不会失真官方文 ... [详细]
  • 博主使用代理IP来自于网上免费提供高匿IP的这个网站用到的库frombs4importBeautifulSoupimportrandomimporturllib.re ... [详细]
author-avatar
iflbicfb_6114756
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有