Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE7如何比IE6更好?_Javascript_Css_Internet Explorer 6_Internet Explorer 7 - Fatal编程技术网

Javascript IE7如何比IE6更好?

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的发展相当不错,并且已经取得了很大的进展(我从来没有想过我会这么说)

在web开发社区中,您经常听到人们抱怨为IE6开发。然而,如果您使用像jQuery这样的健壮JavaScript框架进行开发,那么为IE6开发是否与为IE7开发有什么不同;就IE7在遵守标准方面的进步而言,这是微不足道的。到目前为止,包括IE8在内的所有Internet Explorer版本在JavaScript、CSS和DOM实现方面都有可怕的缺陷。你在IE6上使用的大多数黑客仍然适用于更高版本。然而,从好的方面来看,IE9的发展相当不错,并且已经取得了很大的进展(我从来没有想过我会这么说)

该规范与其他浏览器(如Firefox和Chrome)在实现上的差距和差异要小得多


我推荐一篇关于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透明度支持

我将补充一些尚未列出的要点:

  • 严格遵守CSS宽度:IE7在“立即符合标准”模式下严格解释CSS中的
    width
    样式。在IE6中,如果有一个子元素的
    宽度大于父元素的
    宽度,它通常会忽略父元素的
    宽度
    声明并展开以适应子元素,通常需要对
    溢出:隐藏
    进行破解以确保父元素没有展开。

    这基本上是一件好事,但不幸的是引入了一些其他的怪癖,例如,在CSS

    overflow
    设置为
    overflow:auto
    scroll
    的滚动DIV中,将表格扩展到滚动DIV的宽度,包括垂直滚动条的宽度,因此右侧的滚动条将切断部分表格
  • 禁用DirectX过滤器的Cleartype:IE7对具有DirectX过滤器(如alpha透明度和渐变)的元素禁用Cleartype(LCD监视器上的字体平滑)。这在某些方面是好的,因为cleartype使带有过滤器的元素,特别是粗体元素变得非常模糊/模糊,但这是坏的,因为它现在在LCD上呈现文本块状和锯齿状。

    我认为IE7现在也支持

    alpha:1.0
    以及
    filter:alpha(不透明度=100)
  • SELECT z-index错误修复:IE7修复了
    SELECT
    元素具有无限z-index且始终位于其他元素之上的错误,除非将
    IFRAME
    放在
    SELECT
    和要在其上方显示的元素之间。这是菜单等的问题

  • CSS伪类改进:
    :hover
    和一些其他类似的CSS状态现在在超链接之外得到支持

  • 性能不一定会提高:IE7在其VML引擎中引入了许多错误,在IE8中,当处于标准遵从模式时,VML现在比IE7慢10倍,因此并不完全好。此外,我的测试案例表明,在IE7的标准遵从模式下,在鼠标事件中查找
    offsetLeft
    offsetTop
    在我的web应用程序中也可能慢10倍左右。

    IE处于怪癖模式,尽管在整个IE6、7+8中,VML和

    offsetLeft/Top的性能大致相同。我在IE7标准遵从性模式中的经验是,它实际上比IE6中的标准遵从性模式慢得多,尽管它肯定更符合标准。
    

    不过,我认为这是一把双刃剑,因为原始JavaScript性能提高了