现在的位置: 首页 > 综合 > 正文

浏览器模式的探索,Web标准设计

2013年12月04日 ⁄ 综合 ⁄ 共 2384字 ⁄ 字号 评论关闭

        浏览器是如何知道,我们在使用的创建的是一个向后兼容的站点呢?它在支持那些用过时方法创建的站点的同时,怎么能正确的显示你创建的标准化站点呢?
        答案就是,现在浏览器使用了,我们熟悉的DOCTYPE。DOCTYPE是把标准的模式(符合W3C规范的网站就是标准模式)和向前兼容的Quirkm模式,联系起来的纽带。而对于我们来说,大部分的网站设计忽视了各种浏览器的不同,从而对页面的好坏置之不理,这就是中国代码界的现状。正如,昨天转贴的那篇程序员文章一样。许多人程序员都写代码,但我们却从没有关心过我们手上代码的质量,只求如何去完成任务或者完成项目。
        现在话题转回来,基于Gecko的浏览器,如Mozilla和NectScape上的标准模式和Internet Explorer上的标准模式工作方式稍有不同,这些细小的差距将对你的布局产生无法预计的深刻影响。正如,21cn.com,在该网页下使用 netscape与Mozilla进行浏览,点击邮件CGI页面时会发生卡死的现象。可能有人通过修改其配置,是可以打开的,但我们好像忽视的一个细节,那就是我们的客户是否会知道这些。为了解决这样的问题,后来的Gecko浏览器(诸如:Mozilla1.01和Netscape7.0)都增加了第三个模,它的工作方式更像IE的标准模式。(Opera7也支持DOCTYPE的转换功能) 
         Gecko浏览器把类似IE的第三个模式称为:“近乎标准”模式,这个模式在Gecko眼中,却意味着我们大多数人从浏览器得到视觉行为与真正的CSS标准是不一样的。下面将详细分析各种各样的浏览器是如何工作的,并提供一个简单的方法使你的站点到达预期的效果,尽管每个优良的浏览器理解CSS和其他规则的方式都不尽相同。如果你已经把一个过渡的站点,添加了CSS转变成为一个真正的XHMTL,你可能会发现,转变后一些浏览器改变了你的布局,怎么样使用才能修改会期望的效果呢?
我们从DOCTYPE的发展开始简单描述,20世纪90年代,处于领先地位的浏览器制造上就认识到,对于设计和创建网站的客户来说,对Web标准的完全精确的支持尤为重要,但他们希望,在升级到正确的支持网络的标准的新式浏览器的过程中,不要损坏老的非标准的网站。
毕竟netscape和IE的已有版本说服了大批设计师学习他们特有的Quirk模式,包括对HTML标记的私有扩展,以及错误执行CSS,还有浏览器制造商自己定制的脚步语言。微软和NetScape原意对Web标准提供更好的支持,但前提是不损坏现存的,价值上亿的网站,否则对于浏览器制造商来说,等于是自杀。
下面的例子可以说明浏览器制作商的尴尬处境
        20世纪90年代中期,IE的早期版本开始部分支持CSS1时产生一些错误,如盒模型,但第一个方案总是不算很完善,于是有人建议微软公司在1997年初开始支持CSS
        微软早期对CSS盒模型的错误理解产生了一个问题。几百名设计师“学会”了被IE4和IE5使用的错误盒模型,并调整了他们的CSS,以求这些版本的IE 上正确的显示。如果IE的后续版本盒其他制造商的浏览器能更精确的支持盒模型,那么那些已完成的设计肯定要土崩瓦解,这样的话,客户、网站建造者和用户都不会高兴的?怎么办呢?在微软和Netscape未同意制造更精确的、完全支持标准的浏览器之前,有一个无名英雄已经解决了这个问题——处理用非标准方法建立网站。这个英雄就技术专家Todd Fahrner,他是W3C的CSS和HTML工作的投稿人,还是Web标准组织的共同创建者。
       1998年初,Fahrner给浏览器制造公司推举爱女了一种转换机制,这种机制可实现打开或关闭标准适应呈现之间的转换,他建议根据DOCTYPE的存在与否来控制接受和拒绝转换。如果网页的标记是一个DOCTYPE开始的,这就说明设计师有可能知道Web标准,并且已经做出了努力以适应Web标准。相反,如果不存在,它们极有可能使用老式的绞酱唇ǖ摹d榔骰崆鸬亩源恰? 
        但还是存在一个问题:没有兼容的标准浏览器,如果使用DOCTYPE转换是向前及向后的兼容的关键所在,那么全世界用户就还要等上两年!
       2000年3月,微软公司推出了IE5Macintosh版,它是由微软工程师和W3C的发烧友Tantel、Celik开发的,它的表现层引型对网络标准(包括CSS1、XHTML和DOM)提供相当精确的和近乎完全的支。IE5/Macintosh采用文本缩放技术以提供可访问性,它是第一个采用DOCTYPE转换来实现Quirk模式和标准模式之间转换的浏览器。
        因此,即IE5/Macintosh之后推出的Netscape 6、Mozilla、Chimera等基于Gecko浏览器,他们都包含了文本缩放功能。使用Gecko/Mozilla表现的引型,使得支持严格具体的Web标准成为可能。IE6/Windows加入兼容标准的行列后,也同样支持DOCTYPE转换,并增加了一个DOM特性,通过一个已有的Web文档,控制是否按照标准模式进行显示。

Opera上的转换:Opera软件公司的Opera浏览器在7.0版本之前不是根据这些定义显示结构的。无论该网页怎样设置,它总是尝试使用兼容标准模式来呈现网页。7.0以前的Opera的版本也不支持W3C DOM;这样的,在老版本的Opera浏览器上的基于DOM脚步的标准兼容网站是不能正常工作的。好在Opera用户是一个自选群体,当有新改进的 Opera版本推出时,他们会离开Down下最新的版本。前面提到过,现在Opera7包含DOCTYPE转换功能,虽然公司并没有说明它是如何工作的。 

抱歉!评论已关闭.