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

讨论:Qomolangma实现篇(三):兼容层设计

2013年09月05日 ⁄ 综合 ⁄ 共 695字 ⁄ 字号 评论关闭

http://blog.csdn.net/aimingoo/archive/2006/03/07/617361.aspx

1. 关于Browser Sniffing,这一部分代码我之前就看了,有点想法。个人认为Object Sniffing还不如UserAgent,尽管后者也不是那么可靠。一个是,有些浏览器也会实现一些非标准的兼容特性,例如opera下似乎也有document.all(不是很确定,我很久没有用opera了)。最主要的是Object Sniffing依赖于以前的浏览器的实现,对于某种浏览器的未来版本(如ie7)是否仍可以同样适用存在不确定——尽管这种可能性不是很大。此外,许多其他框架或者库可能会为环境打补丁或者增加兼容特性,这样只有在qomo是被首先载入的情况下才能确保准确,这一点我觉得太苛刻了。所以我觉得还是以UserAgent判断为主,不要使用Object Sniffing为好。

2. 关于给IE 5.0做patch。确实ie 5.0属于鸡肋,不支持它吧,其实它已经实现绝大部分特性,支持它吧,却有许多缺失的特性和bug很难弥补。我个人觉得可以做这样的预设,即用户应至少升级到5.01。我印象中似乎5.01是可以用in操作符的,不知道是不是记错了。regexp能修就修一点吧,不过因为缺少很多例如g,m(全局和多行)特性,只能考虑在核心代码中尽量不用re,对于客户端代码来说,只能由程序员自己了解re在何种版本下可用。

3. 此外,对于无法升级ie的用户,jscript其实可以单独升级引擎,这是一个对于老用户折中的方案。

3. 你说的ff 1.5之前的js的严重bug不知道是指哪一个啊?

抱歉!评论已关闭.