我要非常坦诚,可能会因此被投票否决,但是:
如果你在IE6上调试的时间比其他浏览器多3倍,那么你的老板是对的:你没有编写智能代码。
这可能不是你的错。IE6有它的怪癖,学习这些怪癖需要时间和经验。但是,在项目设计阶段,你可以预先解决许多IE6问题,避免剩余问题。
例如:
在CSS中,总是将float
与display:inline
配对使用。
使用clearfix
进行浮动清除。
学会使用zoom:1
,以及hasLayout
适用的位置和方式。
不要在同一个元素上混合使用margin
和padding
。
在JS中,要么学习浏览器差异的细节,要么使用像jQuery这样为你规范化这些差异的库。
还有很多。你会在以后的学习中逐渐掌握它们。但是要认识到,由于许多大公司在短期内不可能从IE6迁移,你必须适应你的编码实践,为自己、客户和公司节省时间和金钱。
IE6已经在8年前完成了它的工作,但是由于Windows Vista没有像应该那样普及,人们仍然坚持使用IE6,如果Windows Vista成为主流,这将是一个平稳的过渡。
我希望Windows 7能促使这些企业升级到更好的浏览器IE8 至少比IE6更好
许多大公司都有定制的内部网络应用程序,这些应用程序只能在IE6上运行,并且依赖于一些奇怪的ActiveX控件。他们的理由是“这是一个受控环境,我知道浏览器是IE6,我不需要费心测试其他浏览器”(我曾在stackoverflow上看到一些人表达了这种态度,虽然显然是错误的,但我无法有力地反驳)
这被称为供应商锁定。留在IE6并继续开发比更换浏览器并将公司的HR程序更新/移植到IE7中的成本要少。
在服务器故障上几乎有相同的问题。简短的答案是,你在IE7/IE8中想要的东西(标准兼容性)正是阻止采用的原因 - 它会打破所有企业Web应用程序,使IE不像IE那样运行(就像KevMo所说的那样)。
我在公司为此问题奋斗了两年多,学到了很多。对我们来说,问题如下:
IT治理:
我们在全球拥有2500个基于Web的业务线应用程序。询问每个组需要多长时间才能确保他们所有的应用程序都能在IE7/8中正常工作。
每个组:
我们的一些产品组合可能不需要修改,但是让我们保险起见,假设最坏的情况,如果我们遇到一些问题,那么每个应用程序需要4个人周的时间。
IT治理:
升级该死的浏览器要花费6000万美元?绝不可能。