欢迎来到天天文库
浏览记录
ID:36752491
大小:2.34 MB
页数:38页
时间:2019-05-14
《常见浏览器兼容性问题汇总》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、常见浏览器兼容性问题汇总1W3C标准规范1.1W3C简介万维网联盟创建于1994年,是Web技术领域最具权威和影响力的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南,如广为业界采用的超文本标记语言(标准通用标记语言下的一个应用)、可扩展标记语言(标准通用标记语言下的一个子集)以及帮助残障人士有效获得Web内容的信息无障碍指南(WCAG)等,有效促进了Web技术的互相兼容,对互联网技术的发展和应用起到了基础性和根本性的支撑作用。1.2主要工作W3C最重要的工作是发展Web规范,这些规范描述
2、了Web的通信协议(比如HTML和XHTML)和其他的构建模块1.3主要贡献W3C为解决Web应用中不同平台、技术和开发者带来的不兼容问题,保障Web信息的顺利和完整流通,万维网联盟制定了一系列标准并督促Web应用开发者和内容提供者遵循这些标准。标准的内容包括使用语言的规范,开发中使用的导则和解释引擎的行为等等。W3C也制定了包括XML和CSS等的众多影响深远的标准规范。但是,W3C制定的web标准似乎并非强制而只是推荐标准。因此部分网站仍然不能完全实现这些标准。特别是使用早期所见即所得网页编辑软件设计的网页往往会包含大量非标准代码。
3、W3C致力于对web进行标准化W3C创建并维护了WWW标准W3C标准被称为W3C推荐标准(W3CRecommendations)W3C最重要的工作是发展web规范,也就是描述web通信协议(比如HTML和XML)和其他构建模块的“推荐标准”。1.4w3cschool及w3c在线验证服务W3CSchool是因特网上最大的WEB开发者资源,是完全免费的,是非盈利性的,一直在升级和更新。由W3C提供的验证服务可以为互联网用户检查HTML文件是否附合HTML或XHTML标准。这可以向网页设计师提供快速检查网页错误的方法。对W3C验证这个事,我
4、们知道W3C是通过规则形式验证的,而我们在写程序的时候往往会有一些难以处理的兼容问题,需要一些不规则的写法来解决,而这样的写法可以解决遇到的问题,但又会通不过验证,在这种时候我们肯定会在解决问题为优先的原则。1浏览器介绍1.1浏览器概况1.1浏览器分析版本介于目前最新版本浏览器例如IE10/11、Safari7、Firefox25、Chrome31已经极大符合W3C标准规范,因此在IE版本中,只做IE6、IE7、IE8分析。1.2浏览器内核各品牌浏览器的内核是不同的,不同的内核处理同一段代码的时候思路不同。因此可以说,浏览器间内核的差
5、异是产生兼容性问题的根本原因。浏览器名称排版引擎ECMAScript引擎InternetExplorerTridentChakra(Jscript引擎)FirefoxGeckoSpiderMonkey(1.0-3.0)RhinoTraceMonkey(3.5-3.6)JaegerMonkey(4.0+)IonMonkey(18+)OdinMonkey(22+)ChromeWebkit(早期)/Blink(28+)V8SafariWebkitSquirrelFishExtreme1.1浏览器工作模式及缩写上述浏览器,每种都有两到三种工作
6、模式:在这里提到的“模式”是一个与时间点相关联的概念,我们不会因为时间点的不同而更改他们的名称。也就是说,这个“标准模式”是与浏览器的品牌和版本密切相关的,即便是各浏览器最新版本的“标准模式”也会有差别。浏览器的工作模式也被成为“渲染模式”,工作模式的差异不仅表现在处理HTML页面的时候,处理XML及非WEB内容时也有模式的差异,本文只讨论处理HTML时的工作模式。为了保证良好的向后兼容性,微软为用户提供了一个“开关”,来决定浏览器的工作模式,就是页面顶部的DTD。IE6,7,8中的“混杂模式”是为了保证将浏览器的行为冻结在IE5.5
7、版本。但随着时间推进和进步,2009年IE8重新定义“标准模式”,再次增强对W3C规范的支持,但为了保持对IE7的兼容,还增加了一种“接近标准模式”。通过以上的内容,我们可以得出结论:如果一个页面能使各浏览器都工作在“标准模式”下,那么各浏览器都将尽量兼容标准,因此各浏览器之间表现出的差异是很少的。相反,如果一个页面使各浏览器都工作在“混杂模式”下,那么各浏览器都将尽量向后兼容,因此各浏览器之间表现出的差异将会最大化。下图附常见的doctype:在编写一个页面时,要使用可以触发各浏览器“标准模式”的DTD,并书写符合规范的代码,以保证
8、您的页面在各浏览器中可以最大程度的兼容。1问题分类(常见)1.1HTML渲染相关DTD之前的非空白字符在某些情况下会使该DTD失效标准参考HTML4.01规范中提到,DTD的前面或后面允许出现空白符,这里提到的“空白符”
此文档下载收益归作者所有