首先这些脚本基本都是为了开发一些B/S结构的应用系统而做,对于做网站很少使用这些脚本。那么在做B/S系统时,你们考虑什么浏览器,你们的客户群是什么?难道你们推荐用户统一使用Firefox或者Netscape?无疑,现在推荐给用户的都是统一的应用环境IE6。
在我们做B/S系统的时候,才发现对JavaScript的应用真是千奇百怪,绝对超过了一般网站,为了增加客户体验,我们不得不写大量的JavaScript脚本与DHTML进行互操作。这也就有了像Bindows这样的大师级产品出现。但是你想过没有,你要的这些效果(或者说客户要的这些效果)在有些浏览器上是根本不支持的。比如xmlmenu中菜单的阴影,这个在IE5上不支持,如果客户要求这个阴影,那么只能要求用户升级到IE5.5以上版本。现在的Firefox对IE的兼容性很好,确实比Netscape好很多,甚至连htc都支持了。但是考虑一下,还是有一些东西只能IE才能做到。有些事情毕竟那么无奈。
另外就是测试,如果你要多个浏览器都要测试,那么估计你会累死,如果一个浏览器出了问题,那么你要花费大量的时间。这些都是不经济的。
所以在做任何一个方案的时候,都要考虑其应用场景。我看了博客园关于设计模式的讨论,首先确定一点,不要为了模式而模式。同样的,不要为了兼容浏览器而兼容浏览器。必须是有这种需求而且如果我们不满足这种需求就会带来我们不希望得利益损失的时候才去做。
我的网站海洋工作室( http://sps.oceanstudio.net )是基于Sharepoint,这个东东支持多浏览器还不错。在Firefox下显示也没有问题,但是web管理的时候在firefox下还是有问题。那么从11月2日建站到昨天11月29日,网站使用率是什么样子的呢?我给大家一组数据看看:
browser | Total Visits | Recent Month | Most Recent Day | Most Recent Day Visits |
Gecko | 67 | 67 | 2004-12-29 | 1 |
Internet Explorer | 1 | 1 | 2004-12-21 | 1 |
Internet Explorer 5.0 | 15 | 15 | 2004-12-27 | 2 |
Internet Explorer 5.00 | 46 | 46 | 2004-12-29 | 2 |
Internet Explorer 5.01 | 80 | 80 | 2004-12-27 | 1 |
Internet Explorer 5.5 | 14 | 14 | 2004-12-20 | 1 |
Internet Explorer 6.0 | 14225 | 14225 | 2004-12-29 | 403 |
Microsoft Office | 5 | 5 | 2004-12-29 | 1 |
Microsoft Office
FrontPage 6.0 |
120 | 120 | 2004-12-29 | 8 |
Netscape Navigator 2 | 2 | 2 | 2004-12-10 | 2 |
Netscape Navigator 3 | 4 | 4 | 2004-12-20 | 1 |
Netscape Navigator 7.2 | 1 | 1 | 2004-12-27 | 1 |
Opera 7.23 | 1 | 1 | 2004-12-17 | 1 |
Other | 1235 | 1235 | 2004-12-29 | 10 |
大家可以忽略掉office和frontpage的访问,因为那都是我自己访问的。看下浏览器的比例,非IE浏览器加起来基本占了不到10%。而IE6则占有了90%还多。考虑一下访问我网站的基本都是技术人员,技术人员使用浏览器的比率也就这个样子,那么我们的客户,那些连鼠标都用不熟的人呢?你让他自己装个Firefox?是不是不太现实。
就像大家所说的,不要为了模式而模式。同样我所说,不要为了兼容浏览器而兼容浏览器。