关于FireFox和IE对HTML解析过程差异性的考虑
2006-02-24 00:24
459 查看
作者:Deminy最近同时在使用FireFox和IE这两款浏览器浏览网页,以FireFox为主。最近一周在上网的时候关注到FireFox和IE解析HTML的两点不同之处。
一是对空格符的处理。按照HTML的标准,空格字符是 。在FireFox中,如果你误写成 (少了一个分号)一定不会被FireFox认为是空格,FireFox会认为它是 。而在IE中,如果你误写成 (少了一个分号)IE智能地认为它是空格。
二是对注释的处理。按照HTML的标准,注释的操作是放在<!--和-->之间的,而且注释中不能有--,否则会产生HTML解析错误。如果你把一段注释写成<!--2000年--2002年,在北京工作-->,在FireFox中,FireFox会机械地认为该段注释内容为2000年,而IE则会智能地认为这段注释内容为2000年--2002年,在北京工作。
FireFox对HTML的解析尽量严肃地按照HTML标准来行事,而IE则大量地加入了智能分析手段。哪一种更好?看上去IE做得更好,但我不这样想。严肃一点的做事方式是需要的,也并不会更复杂。严肃一点能够让我们的生活更顺利一点。例如我们在提交申请文档的时候,如果不按照申请标准来,我们的申请文档很可能就是无效的;报税的时候,如果我们不按照标准表格来填写,就会让税务部门的工作人员感到迷惑,最终造成的损失很可能还是我们自己承担。
的确,IE的处理方式能够让我们比较轻松地编写网页,不必在意微小的错误。但是,这种智能化让人们做网页的时候犯了错误,却仍然不知道自己已经犯了错误,因为你犯的错误已经被IE智能地解析了,IE也不会告诉你你写的网页犯了错误。这样,人们就把错误当成正确来理解了。相当数量的网页都存在各种各样的错误,但是这些错误都被IE的智能解析给掩盖了,连很多技术人员都不知道自己写的HTML代码其实是有错误的。我写了多年的网页,却也是直到最近一周才知道标准的HTML中注释里面是不能有--的,因为以前我主要用IE,而IE从来不告诉我这一点。我看到很多网页编写人员犯各种错误,并且他们自己并不知道他们的做法是错误的。这些问题不少时候都要怪罪于微软。
IE的这种做法对于用户看上去是方便了,但是却是以损害技术标准的规范为代价的。也许这也是为什么微软不喜欢使用标准的JavaScript等规范的原因之一。微软有自己单独的处理问题的规范,而这些规范都是把用户当成傻子,以把用户培养成傻子为目标的。
[补充说明] 微软的做法也许是高明的商业做法,但是也许背离了更好地推动技术进步的发展方向。商业有时候对于技术进步的推广和普及就是一种伤害,但不管怎样,商业还是大大地推动了技术进步。 2005-02-28 21:52:44
一是对空格符的处理。按照HTML的标准,空格字符是 。在FireFox中,如果你误写成 (少了一个分号)一定不会被FireFox认为是空格,FireFox会认为它是 。而在IE中,如果你误写成 (少了一个分号)IE智能地认为它是空格。
二是对注释的处理。按照HTML的标准,注释的操作是放在<!--和-->之间的,而且注释中不能有--,否则会产生HTML解析错误。如果你把一段注释写成<!--2000年--2002年,在北京工作-->,在FireFox中,FireFox会机械地认为该段注释内容为2000年,而IE则会智能地认为这段注释内容为2000年--2002年,在北京工作。
FireFox对HTML的解析尽量严肃地按照HTML标准来行事,而IE则大量地加入了智能分析手段。哪一种更好?看上去IE做得更好,但我不这样想。严肃一点的做事方式是需要的,也并不会更复杂。严肃一点能够让我们的生活更顺利一点。例如我们在提交申请文档的时候,如果不按照申请标准来,我们的申请文档很可能就是无效的;报税的时候,如果我们不按照标准表格来填写,就会让税务部门的工作人员感到迷惑,最终造成的损失很可能还是我们自己承担。
的确,IE的处理方式能够让我们比较轻松地编写网页,不必在意微小的错误。但是,这种智能化让人们做网页的时候犯了错误,却仍然不知道自己已经犯了错误,因为你犯的错误已经被IE智能地解析了,IE也不会告诉你你写的网页犯了错误。这样,人们就把错误当成正确来理解了。相当数量的网页都存在各种各样的错误,但是这些错误都被IE的智能解析给掩盖了,连很多技术人员都不知道自己写的HTML代码其实是有错误的。我写了多年的网页,却也是直到最近一周才知道标准的HTML中注释里面是不能有--的,因为以前我主要用IE,而IE从来不告诉我这一点。我看到很多网页编写人员犯各种错误,并且他们自己并不知道他们的做法是错误的。这些问题不少时候都要怪罪于微软。
IE的这种做法对于用户看上去是方便了,但是却是以损害技术标准的规范为代价的。也许这也是为什么微软不喜欢使用标准的JavaScript等规范的原因之一。微软有自己单独的处理问题的规范,而这些规范都是把用户当成傻子,以把用户培养成傻子为目标的。
[补充说明] 微软的做法也许是高明的商业做法,但是也许背离了更好地推动技术进步的发展方向。商业有时候对于技术进步的推广和普及就是一种伤害,但不管怎样,商业还是大大地推动了技术进步。 2005-02-28 21:52:44
相关文章推荐
- 关于&nbsp;空格实体在最新的IE、Firefox和Google Chrome浏览器中解析宽度不一致问题的解决
- 关于浏览器解析html全过程详解
- jquery 使用过程中,iso 与 安卓 ,chrome ,ie 的差异性
- Javascript解析xml字符串,兼容firefox和ie
- Javascript 模拟点击事件(点击链接与html点击) 兼容IE/Firefox
- 微软关于IE、Firefox、Opera和Safari的JavaScript兼容性解决汇编
- javascript和css在ie和firefox中关于兼容性问题的解决办法
- IE和Firefox在DOM解析childNodes上的不同
- 关于百度DNS的解析过程
- javascript解析xml文件。兼容IE、firefox、Chrome
- ie 和 firefox 对a标记的解析
- firefox 关于非标准属性值的读取与ie的区别
- 关于链接过程中出现的“找到一个或多个多重定义的符号”和“无法解析的外部符号”错误的探究
- 关于Apache不能解析html内容
- 关于css中的position在各大浏览器(IE,FireFox,Opera)中表现问题
- 关于火狐(firefox)及ie下event获取的两种方法
- 初触Python,关于pyquery解析html(百度贴吧)
- 一个仿Windows UI的html table,兼容IE和firefox
- 关于BeautifulSoup(HTML字符解析模块)的使用
- 关于 IE firefox Chrome下的通过用js 关闭窗口部分不支持问题解决