整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML5培训课程:浏览器兼容

HTML5培训课程参加学习过的,大家应该都很熟悉了,今天我们来讨论一下关于浏览器的兼容问题。

  1.为什么会出现浏览器兼容问题?

  由于各大主流浏览器由不同的厂家开发,所用的核心架构和代码也很难重和,这就为各种莫名其妙的Bug(代码错误)提供了温床。再加上各大厂商出于自身利益考虑而设置的种种技术壁垒,让CSS应用起来比想象得要麻烦。浏览器的兼容问题是我们必须去克服的。

  2.关于浏览器

  1)主流浏览器

  Internet Explorer、 Safari、Mozilla Firefox、 Google Chrome、Opera、百度、360、搜狗、傲游

  

  2)最早的浏览器 : Mosaic / Netscape Navigator(网景领航者)(1994-2008)简称NN

  3)浏览器大战

  第一次浏览器大战发生在上个世纪90年代,微软发布了它的IE浏览器,和网景公司的Netscape Navigator大打出手。

  第二次浏览器大战发生在20世纪。

  

  4)浏览器内核及代表作品

  浏览器最关键的部分就是它的渲染引擎(Rendering Engine),也就是大家平常所说的的“内核”。

  3、主流浏览器市场份额

  2013年2月份全球主流浏览器市场份额排行榜

  

  2014年11月份全球主流浏览器市场份额排行榜

  

  2015年5月份全球主流浏览器市场份额排行榜

  

  2016年12----2017年2月

  

  (1)五大浏览器内核

  •Trident (MSHTML)(三叉戟;三叉线;三齿鱼叉)

  •Gecko(壁虎)

  •Presto (迅速的)

  •Webkit(Safari内核,Chrome内核原型,它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核)

  •Blink (由Google和Opera Software开发的浏览器排版引擎)

  (2)五大浏览器内核代表作品

  *Trident:IE、Maxthon(遨游)、腾讯 、Theworld世界之窗、360浏览器

  代表作品IE,因为IE捆绑在Windows中,所以占有极高的市场份额,又称IE内核或是MSHTML,此内核只能应用于windows平台,且是不开源的。

  *Gecko:代表作品Mozilla Firefox 是开源的,它的最大优势是跨平台,能在Microsoft Windows、Linux和MacOS X等主要操作系统上运行。

  *Webkit :代表作品Safari、Chrome , 是一个开源项目。

  *Presto :代表作品Opera ,Presto是由Opera Software开发的浏览器排版引擎。它也是世界上公认的渲染速度最快的引擎。

  *Blink :由Google和Opera Software开发的浏览器排版引擎,2013年4月发布。

SS3与HTML5的推出,也让各种浏览器的兼容性成了许多设计师关心的问题,本文以表格形式排列了目前主流浏览器对于CSS3与HTML5支持情况。

下面是目前主流浏览器对于HTML5与CSS3的支持情况的相关内容,文章教程主要讲述与主流浏览器 HTML5 CSS3 相关的一些技术与知识,下面是讲解:

CSS3与HTML5的推出,也让各种浏览器的兼容性成了许多设计师关心的问题,本文以表格形式排列了目前主流浏览器对于CSS3与HTML5支持情况

支持 CSS3 和 HTML5 的浏览器越来越多,甚至包括最新版的 IE,当然,所谓支持仅仅是部分支持,因为 CSS3 和 HTML5 的W3C 规范都尚未形成。如果你现在就希望使用 CSS3 和 HTML5 创建你的站点,至少要对各个浏览器对这两种新技术的支持情况有一个全面了解。

需要指出的是,即使同一个浏览器的同一个版本,在 Mac 和 Windows 两个平台,它们对 CSS3 和 HTML5 的支持也并不一致。本文是一份 Chrome, Safari, Firefox, Opera, IE 5 大浏览器,在 Mac 和 Windows 两个平台,对 CSS3 和 HTML5 各种功能的详细支持情况清单。

CSS3 属性

可以看出,全盘支持 CSS3 属性的浏览器有 Chrome 和 Safari,而且不管是 Mac 平台还是 Windows 平台全支持。

CSS3 选择器

除了 IE 家族和 Firefox 3,其它几乎全部支持。Chrome,Safari,Firefox 3.6,Opera 10.5 成绩最好 。

HTML5 Web 应用

Safari 对 HTML5 Web 应用的支持最好,除了地理定位功能,其它都支持。

HTML5 网页内嵌对象

这应该是 HTML5 最令人期待的东西,内置的画布,视频,音频等对象。全部支持的有 Chrome,Safari,Firefox 3.6,Opera 10.5。IE家族则全军覆没。

HTML5 音频编码

Opera 10.5 支持的最全面,IE 家族又是颗粒无收。

HTML5 视频编码

H.264 任重道远。

HTML5 各种表单对象

Mac 平台下的 Chrome 成绩最佳。这些表单对象让人想起了桌面程序。

HTML5 表单对象属性与行为

又一次想到了桌面程序。

结论

目前,对 CSS3 和 HTML5 支持最好的是 Safari,Chrome 次之,Firefox 3.6 和 Opera 10.5 旗鼓相当,IE家族最差。鉴于这种情况,假如你想使用这两项新技术创建一个先锋体验式站点,现在的 CSS3 和 HTML5 可以让你实现,假如你希望这个站点能被绝大多数人正常访问,现在还为时过早,折中的方案是,为不支持 CSS3 和 HTML5 某些功能的浏览器提供降级方案,当然,其中要涉及到很多问题,包括浏览器,版本,平台的探测,CSS Hack 等等大量工作,相信是得不偿失的。

本文中,我们将讨论跨浏览器兼容性的重要性,探讨该领域的常见问题、最佳实践和新兴趋势。

浏览器兼容性是一个术语,指的是特定网站和应用程序在不同浏览器上完全正常运行的能力。在这个现代数字世界中,企业严重依赖其在线形象来吸引和留住客户,因此网站应该可以跨不同的设备和浏览器访问,以确保无缝的用户体验。

不同的浏览器应该与网站的 HTML、CSS 和 JavaScript 兼容。在本文中,我们将讨论跨浏览器兼容性的重要性,探讨该领域的常见问题、最佳实践和新兴趋势。

什么是浏览器兼容性测试

浏览器兼容性测试是一种非功能性测试,可确保所有功能在不同的浏览器(如 Microsoft Edge、Google Chrome、Safari 等)上正常工作。由于所有浏览器都有自己的配置和代码解释,因此浏览器兼容性确保了应用程序的一致性。但是,由于兼容性问题,网站在不同的浏览器上可能会有不同的反应,此时,浏览器兼容性测试对于确保完美的用户体验起着至关重要的作用。

浏览器兼容性如何工作?

市场上有多种 Web 浏览器,每个浏览器都有其渲染引擎和对 Web 技术的解释,确保您的 Web 浏览器在它们之间一致地工作可能是一项复杂的任务。这可以通过使用 Web 标准来完成,这些标准是关于如何对网页进行编码的商定指南。当浏览器遇到根据 Web 标准编码的网页时,它应该能够正确呈现该页面,而不管浏览器自己对这些标准的实现如何。

每个浏览器都有自己的渲染引擎,用于解释 HTML、CSS 和 JavaScript 代码,并将其呈现为用户可以与之交互的可视化表示形式。例如,Google Chrome 使用 Blink,Mozilla Firefox 使用 Gecko,而 Safari 使用 WebKit。

为确保跨浏览器兼容性,Web 开发人员和设计人员必须在不同的浏览器上测试他们的网站,以识别和修复任何差异或错误。他们还可以使用工具和框架来帮助简化测试过程并确保不同浏览器之间的兼容性。

要避免的常见跨浏览器兼容性问题?

为确保流畅的跨浏览器体验,您需要了解与开发相关的最常见的跨浏览器兼容性问题。

  • 不同的CSS渲染:不同的浏览器采用不同的 CSS 规则。它会导致不一致的布局、不必要的空格和正面渲染。为了避免这些类型的故障,开发人员需要依靠符合标准的 CSS 来获得一致的渲染。
  • 与 JavaScript 的兼容性:JavaScript 的行为可能因不同的浏览器而异。即使在今天,一些最新的 JavaScript 功能也不受旧浏览器的支持,或者需要 polyfill 或转译器才能工作。
  • 绕过不支持的 HTML5 和 CSS3 功能:有时,许多浏览器不支持最新的 HTML5 和 CSS3 功能。使用不受支持的功能可能会导致某些浏览器中的布局损坏或功能丢失。为防止出现这种情况,请研究并了解目标浏览器支持哪些 HTML5 和 CSS3 功能。
  • 触摸和手势问题: 移动浏览器以不同的方式处理触摸和手势事件,这可能会影响触摸友好型网站的可用性。
  • 特定于浏览器的错误:某些浏览器可能包含一些错误,这些错误可能会在将来造成重大故障。因此,删除这些错误以维持最佳用户体验非常重要。

实现跨浏览器兼容性的最佳实践

跨浏览器兼容性测试的主要目标是标记和解决用户从不同应用程序访问您的网站时的错误和错误。确保您的网站或 Web 应用程序正常运行并在不同的 Web 浏览器和版本中一致地显示至关重要。

以下是一些关键注意事项:

  • 定义浏览器和设备矩阵:您需要通过考虑目标浏览器版本在不同设备和平台上的工作来识别它们。您还需要创建一个矩阵来列出目标受众可能使用的所有目标浏览器及其各种版本。
  • 框架封装:使用框架来封装代码是开始开发网站的好方法。框架提供了许多优势,包括针对跨浏览器问题进行优化和自动创建响应式元素。通过使用框架,开发人员可以专注于功能,而将跨浏览器兼容性问题留给框架。
  • 使用自动化测试工具:Selenium、Cypress 和 TestGrid 等自动化测试工具可以显著加快跨浏览器兼容性测试过程。这些工具可以同时在各种浏览器上测试网站,而无需手动干预。
  • 开发代码验证通道:此步骤涉及 W3C 标准。经过充分验证的代码使网站兼容,并最大限度地降低因语法错误或非标准做法而引起的问题的风险。
  • 重测和回归:添加重新测试和回归测试通道有助于开发人员修复兼容性问题。每当引入更改或更新时,在定义的浏览器和设备矩阵中重新测试网站有助于及早识别和解决任何潜在的兼容性问题。
  • 设置一些反馈循环:设置一些反馈循环,以确保您的网站在不同的浏览器和设备上都能正常运行。通过“报告错误”按钮鼓励用户反馈,并及时响应用户报告。用户反馈充当实际验证机制,帮助您识别和纠正隐藏的兼容性挑战。

结论

随着数字世界不断发展和更新,新版本和设备变得过时,跨浏览器测试对于确保网站和 Web 应用程序按预期工作至关重要。在今天的这篇文章中,我们了解了浏览器兼容性及其重要性以及与之相关的问题。跨浏览器兼容性是一个持续的挑战,但通过正确的方法和最佳实践,我们可以在未来使其更加多样化和动态。