IE9中的IE7 / 8模式与实际运行的IE7 / 8相比有多好

时间:2012-04-20 15:52:58

标签: internet-explorer testing cross-browser

我正在尝试确认这是出于工作目的,因此我们不需要在IE7和IE8中测试单独的VM。我一直只是使用IE9(F12)中的开发者工具,并改变了浏览器模式和文档模式来进行IE7和IE8测试。

这与“真正的”IE7和IE8中的实际测试相比如何?有没有人做过比较或看过详细说明呢?

我认为IE7和IE8渲染引擎只是包含在IE9中,它只是使用那些引擎。还有什么我应该知道的吗?

3 个答案:

答案 0 :(得分:58)

我总是使用真正的浏览器。我有三个IE 9的IE 7模式的行为与真正的IE 7不同的例子:

  1. Here是一个显示透明PNG淡入淡出的页面。在真实的IE 7中,您可以看到图像边缘周围的黑暗。在IE 9的IE 7模式中不是这种情况。

  2. Base64图像在真正的IE 7中不起作用,但它们在IE 9的IE 7模式下工作。 Here是您可以自行测试的页面。

  3. Here是一个显示应用了zoom: 1px; CSS的段落的页面。在真正的IE 7中,该段看起来非常小。在IE 9的IE 7模式中不是这种情况。

  4. 我有12个IE 9的IE 8模式的例子与真正的IE 8不同:

    1. Here是一个显示256px×256px图像缩放到50px×50px的页面。在真正的IE 8中,边缘看起来很流畅。在IE 9的IE 8模式中不是这种情况。

    2. 来自James Hopkins' list of IE 8 bugs(JHIE8B)的CSS bug 9不影响IE 9的IE 8模式(test casealternate test case)。该bug的描述是“Bullet(填充光盘)列表 - 标记在使用MS Sans Serif字体时被误导”。

    3. 来自JHIE8B的CSS bug 15不影响IE 9的IE 8模式(test casealternate test case)。该bug的描述是“嵌入在A元素中的包含IMG(具有vertical-align:baseline,并且没有包含文本的兄弟行框)的内联框的下行空间,仅在:hover”上绘制。

    4. 来自JHIE8B的CSS bug 22不影响IE 9的IE 8模式(test casealternate test case)。错误的描述是“content属性在动态插入属性时不返回属性的值”。

    5. 来自JHIE8B的CSS bug 31不影响IE 9的IE 8模式(test case)。该bug的描述是“当使用@import导入这些样式规则时,标记框不会从其附加的元素继承样式”。

    6. 来自JHIE8B的CSS bug 38不影响IE 9的IE 8模式(test case)。该错误的描述是“与元素匹配的规则集,其中包含float值,max-height值和overflowscroll,触发完整页面空白(强制标准模式)或兼容性视图后备“。

    7. 来自JHIE8B的CSS bug 56不影响IE 9的IE 8模式(test case)。该bug的描述是“当包含块的堆叠级别为”时,在上升:hover(或:active)时,不会重新计算堆叠相对定位后代的上下文(堆栈级别低于其包含块)重置以反映文档树中的默认后台顺序“。

    8. 来自JHIE8B的CSS bug 57不影响IE 9的IE 8模式(test case)。该错误的描述是“带有visibility:hidden的内联元素,其中 紧接在父级的结束标记之前或紧跟在父级的开始标记之后紧接在父级的结束标记之前,阻止将text-decorationunderline的{​​{1}}值应用于行框“。

    9. 来自JHIE8B的CSS bug 60不影响IE 9的IE 8模式(test casealternate test case)。该错误的描述是“相当于overline元素的匿名表对象内的文本不可选”。

    10. 来自JHIE8B的CSS bug 62不影响IE 9的IE 8模式(test casealternate test case)。该bug的描述是“一个半透明的元素,其内容被剪裁(table-cell应用于父级”)当它溢出它的父盒时,沿着外边缘经历1像素透明度相关的出血,提供边界溢出“。

    11. 来自JHIE8B的CSS bug 65不影响IE 9的IE 8模式(test casealternate test case)。错误的描述是“当overflow:hidden应用于background-image伪元素时,应用于其关联元素的其他:first-child不会显示”。

    12. 来自JHIE8B的JavaScript错误1不会影响IE 9的IE 8模式(test casealternate test case)。该错误的描述是“在background-image循环querySelectorAll之外的语句中使用break,触发整个程序崩溃。”。

    13. 拥有多个虚拟机有点不方便,但是at least they're free,它们也适用于VirtualBox。


      编辑1(2012-08-21 19:40:46Z):添加了IE 9 IE 8模式的行为与真实IE 8不同的示例。

      编辑2(2012-11-16 08:11:42Z):更新了IE 9 IE 7模式的第一个示例中的链接,其行为与真实的IE 7不同,并添加了第三个示例

      编辑3(2012-11-22):添加了11个IE 9 IE 8模式的示例,其行为与真正的IE 8不同。

答案 1 :(得分:3)

要添加到Nick的答案,这里有两个IE9模式IE9的例子与真正的IE 7不同:

  1. localStorage在IE9-in-IE7模式下工作,但在IE7中不工作。
  2. sessionStorage适用于IE9-in-IE7模式,但不适用于IE7。
  3. 让您想知道在IE9中实现了多少其他Web API将在IE9-in-IE7模式下运行...

答案 2 :(得分:1)

在IE10中,似乎存在一系列非常类似的问题,这些问题使浏览器和文档模式无法进行可靠的测试。

许多在IE 7和IE 8中都有效的过滤器在文档和浏览器模式下无效。