Javascript IE7如何比IE6更好?
在web开发社区中,您经常听到人们抱怨为IE6开发。然而,如果您使用像jQuery这样的健壮JavaScript框架进行开发,那么为IE6开发是否与为IE7开发有什么不同;就IE7在遵守标准方面的进步而言,这是微不足道的。到目前为止,包括IE8在内的所有Internet Explorer版本在JavaScript、CSS和DOM实现方面都有可怕的缺陷。你在IE6上使用的大多数黑客仍然适用于更高版本。然而,从好的方面来看,IE9的发展相当不错,并且已经取得了很大的进展(我从来没有想过我会这么说) 该规范与其他浏览器(如Firefox和Chrome)在实现上的差距和差异要小得多Javascript IE7如何比IE6更好?,javascript,css,internet-explorer-6,internet-explorer-7,Javascript,Css,Internet Explorer 6,Internet Explorer 7,在web开发社区中,您经常听到人们抱怨为IE6开发。然而,如果您使用像jQuery这样的健壮JavaScript框架进行开发,那么为IE6开发是否与为IE7开发有什么不同;就IE7在遵守标准方面的进步而言,这是微不足道的。到目前为止,包括IE8在内的所有Internet Explorer版本在JavaScript、CSS和DOM实现方面都有可怕的缺陷。你在IE6上使用的大多数黑客仍然适用于更高版本。然而,从好的方面来看,IE9的发展相当不错,并且已经取得了很大的进展(我从来没有想过我会这么说)
我推荐一篇关于IE众多缺陷的文章以获取更多信息。Javascript和CSS框架将IE6造成的损坏量降至最低,但IE6和其他浏览器之间仍然存在许多缺陷和不一致
IE7比IE6好,但仅此而已。IE7支持png透明,这对维护网站的图形资源有很大帮助。
- 它可以正确显示alpha通道PNG
- 长方体尺寸的计算与标准相差不远
- 渲染和JavaScript性能实际上允许您在不不时冻结用户机器的情况下做一些有趣的事情
- 一些安全问题已经得到解决
与其他浏览器相比,它没有任何改进,因为其他浏览器在同一时间取得了更大的进步。它仍然是主流浏览器中最糟糕的一款,也是开发者最头疼的问题。就个人而言,IE6最令人恼火的地方是它缺乏PNG的透明度。这导致需要对图像使用AlphaImageLoader。其含义是引入了其自身的错误/不适用性。例如,使用AlphaImageLoader的透明背景不能重复
此外,还有一些bug,例如bug、缺少对最小高度和最小宽度的支持、为浮动元素添加额外的换行符、缺少。我认为IE7的大多数改进都是基于性能(javascript)的,并试图更接近CSS的标准合规性 在我脑海中,这些是我记得的一些主要改进:
- 修正了双边距错误
- 修复了长方体模型和定位继承的许多问题
- 将开发者工具栏包含到浏览器中(不是一个bug修复,但对我来说是一个大问题)
- 正如其他人所指出的,正确的PNG处理
与IE6相比,它是一款好得多的浏览器,与今天的其他浏览器相比,就不那么好了。IMO,IE6和IE7之间有着天壤之别
- IE7支持内置XMLHTTP,而在IE6中它需要ActiveX控件
- IE7支持几个额外的伪类
- IE7修复了z顺序和缩放的一些问题
- IE7修复了“一些”盒子模型问题
- IE7增加了对
子选择器的支持 - IE7增加了对相邻(
)选择器的支持+
- PNG透明度支持
width
样式。在IE6中,如果有一个子元素的宽度大于父元素的宽度,它通常会忽略父元素的宽度声明并展开以适应子元素,通常需要对溢出:隐藏进行破解以确保父元素没有展开。
这基本上是一件好事,但不幸的是引入了一些其他的怪癖,例如,在CSS
overflow
设置为overflow:auto
或scroll
的滚动DIV中,将表格扩展到滚动DIV的宽度,包括垂直滚动条的宽度,因此右侧的滚动条将切断部分表格
我认为IE7现在也支持
alpha:1.0
以及filter:alpha(不透明度=100)
SELECT
元素具有无限z-index且始终位于其他元素之上的错误,除非将IFRAME
放在SELECT
和要在其上方显示的元素之间。这是菜单等的问题:hover
和一些其他类似的CSS状态现在在超链接之外得到支持offsetLeft
和offsetTop
在我的web应用程序中也可能慢10倍左右。
IE处于怪癖模式,尽管在整个IE6、7+8中,VML和
offsetLeft/Top的性能大致相同。我在IE7标准遵从性模式中的经验是,它实际上比IE6中的标准遵从性模式慢得多,尽管它肯定更符合标准。
不过,我认为这是一把双刃剑,因为原始JavaScript性能提高了