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

时间:2021-12-14 17:04:59

I'm trying to confirm this for work purposes so we don't need to have separate VMs to test in IE7 and IE8. I've always just used the developer tools in IE9 (F12) and changed the browser mode and document mode to do IE7 and IE8 testing.

我试着确认这是为了工作的目的,所以我们不需要在IE7和IE8中有单独的vm来测试。我总是使用IE9 (F12)中的开发工具,并更改浏览器模式和文档模式以进行IE7和IE8测试。

How does this compare with actually testing in the "real" IE7 and IE8? Has anyone done a comparison or seen a write up detailing this?

这与真正的IE7和IE8相比如何?有人做过比较吗?有人看过详细的描述吗?

I assume the IE7 and IE8 rendering engines are simply included in IE9 and it just uses those engines instead. Is there anything else I should know?

我假设IE7和IE8渲染引擎仅仅包含在IE9中,它只使用这些引擎。还有什么我应该知道的吗?

3 个解决方案

#1


57  

I always use the real browser. I have three examples of IE 9's IE 7 mode behaving differently than the real IE 7:

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

  1. Here is a page that shows a transparent PNG fading out and in. In the real IE 7, you can see darkness around the edges of the image. This is not the case in IE 9's IE 7 mode.

    这里有一个页面显示了一个透明的PNG淡入淡出。在真实的IE 7中,你可以看到图像边缘周围的黑暗。在IE 9的ie7模式中并非如此。

  2. Base64 images do not work in the real IE 7, but they do in IE 9's IE 7 mode. Here is a page you can test with to see for yourself.

    Base64图像在真实的IE 7中不能工作,但是在IE 9的ie7模式中可以工作。这是一个你可以自己测试的页面。

  3. Here is a page that shows a paragraph with zoom: 1px; CSS applied to it. In the real IE 7, the paragraph appears to be very small. This is not the case in IE 9's IE 7 mode.

    这是一个页面,显示了一个带有zoom: 1px的段落;应用CSS。在真实的IE 7中,这一段显得非常小。在IE 9的ie7模式中并非如此。

And I have twelve examples of IE 9's IE 8 mode behaving differently than the real IE 8:

我有12个例子说明IE 9的IE 8模式与真实的IE 8不同:

  1. Here is a page that shows a 256px × 256px image scaled to 50px × 50px. In the real IE 8, the edges look smooth. This is not the case in IE 9's IE 8 mode.

    这是一个页面,该页面显示256 px×256 px图像缩放到50 px×50 px。在真实的IE 8中,边缘看起来很平滑。在IE 9的IE 8模式中并非如此。

  2. CSS bug 9 from James Hopkins' list of IE 8 bugs (JHIE8B) does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "Bullet (filled disc) list-markers misrendered when using MS Sans Serif font".

    来自James Hopkins的ie8 bug列表(JHIE8B)的CSS bug 9不会影响ie9的ie8模式(测试用例,替代测试用例)。bug的描述是“使用Sans Serif字体时被错误渲染的子弹(填充的磁盘)列表标记”。

  3. CSS bug 15 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "Descender space of an inline box containing an IMG (with vertical-align:baseline, and no sibling line boxes containing text) nested in an A element, is drawn only on :hover".

    JHIE8B中的CSS bug 15没有影响IE 9的IE8模式(测试用例,替代测试用例)。bug的描述是“嵌套在元素中的嵌套内嵌有IMG(垂直对齐:baseline,没有包含文本的同级线框)的内联框的后代空间,仅在:hover上绘制”。

  4. CSS bug 22 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "content property doesn’t return the value of an attribute when attribute is dynamically inserted".

    JHIE8B中的CSS bug 22并不影响IE 9的IE8模式(测试用例,替代测试用例)。bug的描述是“当属性被动态插入时,content属性不会返回属性的值”。

  5. CSS bug 31 from JHIE8B does not affect IE 9's IE 8 mode (test case). The bug's description is "Marker box doesn’t inherit styling from element to which its attached, when importing those style rules using @import".

    JHIE8B的CSS bug 31不影响IE 9的IE8模式(测试用例)。错误的描述是“标记框在使用@import导入这些样式规则时,不会从它所附加的元素继承样式”。

  6. CSS bug 38 from JHIE8B does not affect IE 9's IE 8 mode (test case). The bug's description is "Rule set that matches an element, which includes a float value, a max-height value, and an overflow value of scroll, triggers complete page blankness (forced Standards Mode), or Compatibility View fallback".

    JHIE8B的CSS bug 38不会影响IE 9的IE8模式(测试用例)。bug的描述是“匹配一个元素的规则集,该元素包含一个浮点值、一个max-height值和滚动的溢出值,触发完整的页面空白(强制标准模式),或者兼容性视图回退”。

  7. CSS bug 56 from JHIE8B does not affect IE 9's IE 8 mode (test case). The bug's description is "Stacking context of relatively-positioned descendant (with lower stacking level than it’s containing block) isn’t re-calculated on ascendant :hover (or :active) when stacking level of containing block is reset to reflect default back-to-front order in document tree".

    JHIE8B的CSS bug 56不会影响IE 9的IE8模式(测试用例)。这个错误的描述是“相对位置的后代级的堆栈上下文(堆栈层次比包含块的层次低)不会在上升时重新计算:当包含块的堆栈层次重置为反映文档树中默认的前后顺序时悬停(或:活动)”。

  8. CSS bug 57 from JHIE8B does not affect IE 9's IE 8 mode (test case). The bug's description is "Inline element with visibility:hidden which either immediately precedes parent’s end-tag or immediately follows parent’s start-tag and immediately precedes parent’s end-tag, prevents text-decoration values of underline and overline being applied to the line box".

    JHIE8B的CSS bug 57不会影响IE 9的IE8模式(测试用例)。这个bug的描述是“具有可见性的内联元素:隐藏的元素,它要么直接在父标记的前面,要么紧跟着父标记的开始标记,然后紧跟着父标记的结束标记,防止下划线和划线的文本修饰值应用到行框中”。

  9. CSS bug 60 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "Text inside an anonymous table object equivalent to a table-cell element isn’t selectable".

    JHIE8B的CSS bug 60不会影响IE 9的IE8模式(测试用例,备用测试用例)。bug的描述是“匿名表对象中与表单元格元素等价的文本不可选”。

  10. CSS bug 62 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "An element which is semi-transparent and whose contents are clipped (overflow:hidden applied to parent) when it overflows it’s parents box, experiences a 1 pixel transparency-related bleed along the outside edges that provide boundaries for the overflow".

    JHIE8B的CSS bug 62并不影响IE 9的IE8模式(测试用例,备用测试用例)。这个bug的描述是“一个半透明的元素,它的内容被剪切(溢出:隐藏应用于父元素),当它溢出父元素的父元素框时,它会经历一个1像素透明相关的流血,沿着外部边缘,为溢出提供边界”。

  11. CSS bug 65 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "When a background-image is applied to the :first-child pseudo-element, a different background-image applied to its associated element does not display".

    JHIE8B的CSS bug 65不会影响IE 9的IE8模式(测试用例,备用测试用例)。错误的描述是“当背景图像应用到:first-child伪元素时,应用于其关联元素的不同背景图像不会显示”。

  12. JavaScript bug 1 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "Utilising querySelectorAll within a statement that breaks out of a for loop, triggers a full program crash.".

    JHIE8B的JavaScript bug 1不影响IE 9的IE8模式(测试用例,备用测试用例)。这个bug的描述是“在一个语句中使用querySelectorAll,它跳出一个for循环,触发一个完整的程序崩溃。”

It is somewhat inconvenient having to have multiple virtual machines, but at least they're free, and they work with VirtualBox, too.

拥有多个虚拟机有点不方便,但至少它们是免费的,而且它们也可以使用VirtualBox。


EDIT 1 (2012-08-21 19:40:46Z): Added an example of IE 9's IE 8 mode behaving differently than the real IE 8.

编辑1 (2012-08-21 19:40:46Z):增加了一个IE 9的IE 8模式与真实IE 8不同的例子。

EDIT 2 (2012-11-16 08:11:42Z): Updated the link in the first example of IE 9's IE 7 mode behaving differently than the real IE 7 and added the third example.

编辑2 (2012-11-16 08:11:42Z):在IE 9的ie7模式的第一个示例中更新链接,并添加第三个示例。

EDIT 3 (2012-11-22): Added eleven examples of IE 9's IE 8 mode behaving differently than the real IE 8.

编辑3(2012-11-22):增加了11个IE 9的IE 8模式与真实IE 8不同的例子。

#2


3  

To add to Nick's answer, here are two more examples of IE9 in IE7 mode behaving differently than the real IE 7:

为了给Nick补充答案,下面是IE9在IE7模式下的另外两个例子,它们的表现与真实的IE7不同:

  1. localStorage works in IE9-in-IE7-mode but not in IE7.
  2. localStorage在ie9 in-IE7模式下工作,但在IE7中不工作。
  3. sessionStorage works in IE9-in-IE7-mode but not in IE7.
  4. sessionStorage在ie9 in-IE7模式下工作,而在IE7模式下不工作。

Makes you wonder how many other web APIs implemented in IE9 will work in IE9-in-IE7-mode...

让你想知道有多少其他在IE9中实现的web api会在IE9 in- ie7模式下工作……

#3


1  

In IE10, there seems to be a series of very similar issues, that make the browser and document modes unfit for reliable testing.

在IE10中,似乎有一系列非常相似的问题,使得浏览器和文档模式不适合进行可靠的测试。

Many filters that do work in IE 7 and IE 8, do not work in the document and browser modes.

许多在IE 7和IE 8中工作的过滤器在文档和浏览器模式中都不工作。

#1


57  

I always use the real browser. I have three examples of IE 9's IE 7 mode behaving differently than the real IE 7:

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

  1. Here is a page that shows a transparent PNG fading out and in. In the real IE 7, you can see darkness around the edges of the image. This is not the case in IE 9's IE 7 mode.

    这里有一个页面显示了一个透明的PNG淡入淡出。在真实的IE 7中,你可以看到图像边缘周围的黑暗。在IE 9的ie7模式中并非如此。

  2. Base64 images do not work in the real IE 7, but they do in IE 9's IE 7 mode. Here is a page you can test with to see for yourself.

    Base64图像在真实的IE 7中不能工作,但是在IE 9的ie7模式中可以工作。这是一个你可以自己测试的页面。

  3. Here is a page that shows a paragraph with zoom: 1px; CSS applied to it. In the real IE 7, the paragraph appears to be very small. This is not the case in IE 9's IE 7 mode.

    这是一个页面,显示了一个带有zoom: 1px的段落;应用CSS。在真实的IE 7中,这一段显得非常小。在IE 9的ie7模式中并非如此。

And I have twelve examples of IE 9's IE 8 mode behaving differently than the real IE 8:

我有12个例子说明IE 9的IE 8模式与真实的IE 8不同:

  1. Here is a page that shows a 256px × 256px image scaled to 50px × 50px. In the real IE 8, the edges look smooth. This is not the case in IE 9's IE 8 mode.

    这是一个页面,该页面显示256 px×256 px图像缩放到50 px×50 px。在真实的IE 8中,边缘看起来很平滑。在IE 9的IE 8模式中并非如此。

  2. CSS bug 9 from James Hopkins' list of IE 8 bugs (JHIE8B) does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "Bullet (filled disc) list-markers misrendered when using MS Sans Serif font".

    来自James Hopkins的ie8 bug列表(JHIE8B)的CSS bug 9不会影响ie9的ie8模式(测试用例,替代测试用例)。bug的描述是“使用Sans Serif字体时被错误渲染的子弹(填充的磁盘)列表标记”。

  3. CSS bug 15 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "Descender space of an inline box containing an IMG (with vertical-align:baseline, and no sibling line boxes containing text) nested in an A element, is drawn only on :hover".

    JHIE8B中的CSS bug 15没有影响IE 9的IE8模式(测试用例,替代测试用例)。bug的描述是“嵌套在元素中的嵌套内嵌有IMG(垂直对齐:baseline,没有包含文本的同级线框)的内联框的后代空间,仅在:hover上绘制”。

  4. CSS bug 22 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "content property doesn’t return the value of an attribute when attribute is dynamically inserted".

    JHIE8B中的CSS bug 22并不影响IE 9的IE8模式(测试用例,替代测试用例)。bug的描述是“当属性被动态插入时,content属性不会返回属性的值”。

  5. CSS bug 31 from JHIE8B does not affect IE 9's IE 8 mode (test case). The bug's description is "Marker box doesn’t inherit styling from element to which its attached, when importing those style rules using @import".

    JHIE8B的CSS bug 31不影响IE 9的IE8模式(测试用例)。错误的描述是“标记框在使用@import导入这些样式规则时,不会从它所附加的元素继承样式”。

  6. CSS bug 38 from JHIE8B does not affect IE 9's IE 8 mode (test case). The bug's description is "Rule set that matches an element, which includes a float value, a max-height value, and an overflow value of scroll, triggers complete page blankness (forced Standards Mode), or Compatibility View fallback".

    JHIE8B的CSS bug 38不会影响IE 9的IE8模式(测试用例)。bug的描述是“匹配一个元素的规则集,该元素包含一个浮点值、一个max-height值和滚动的溢出值,触发完整的页面空白(强制标准模式),或者兼容性视图回退”。

  7. CSS bug 56 from JHIE8B does not affect IE 9's IE 8 mode (test case). The bug's description is "Stacking context of relatively-positioned descendant (with lower stacking level than it’s containing block) isn’t re-calculated on ascendant :hover (or :active) when stacking level of containing block is reset to reflect default back-to-front order in document tree".

    JHIE8B的CSS bug 56不会影响IE 9的IE8模式(测试用例)。这个错误的描述是“相对位置的后代级的堆栈上下文(堆栈层次比包含块的层次低)不会在上升时重新计算:当包含块的堆栈层次重置为反映文档树中默认的前后顺序时悬停(或:活动)”。

  8. CSS bug 57 from JHIE8B does not affect IE 9's IE 8 mode (test case). The bug's description is "Inline element with visibility:hidden which either immediately precedes parent’s end-tag or immediately follows parent’s start-tag and immediately precedes parent’s end-tag, prevents text-decoration values of underline and overline being applied to the line box".

    JHIE8B的CSS bug 57不会影响IE 9的IE8模式(测试用例)。这个bug的描述是“具有可见性的内联元素:隐藏的元素,它要么直接在父标记的前面,要么紧跟着父标记的开始标记,然后紧跟着父标记的结束标记,防止下划线和划线的文本修饰值应用到行框中”。

  9. CSS bug 60 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "Text inside an anonymous table object equivalent to a table-cell element isn’t selectable".

    JHIE8B的CSS bug 60不会影响IE 9的IE8模式(测试用例,备用测试用例)。bug的描述是“匿名表对象中与表单元格元素等价的文本不可选”。

  10. CSS bug 62 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "An element which is semi-transparent and whose contents are clipped (overflow:hidden applied to parent) when it overflows it’s parents box, experiences a 1 pixel transparency-related bleed along the outside edges that provide boundaries for the overflow".

    JHIE8B的CSS bug 62并不影响IE 9的IE8模式(测试用例,备用测试用例)。这个bug的描述是“一个半透明的元素,它的内容被剪切(溢出:隐藏应用于父元素),当它溢出父元素的父元素框时,它会经历一个1像素透明相关的流血,沿着外部边缘,为溢出提供边界”。

  11. CSS bug 65 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "When a background-image is applied to the :first-child pseudo-element, a different background-image applied to its associated element does not display".

    JHIE8B的CSS bug 65不会影响IE 9的IE8模式(测试用例,备用测试用例)。错误的描述是“当背景图像应用到:first-child伪元素时,应用于其关联元素的不同背景图像不会显示”。

  12. JavaScript bug 1 from JHIE8B does not affect IE 9's IE 8 mode (test case, alternate test case). The bug's description is "Utilising querySelectorAll within a statement that breaks out of a for loop, triggers a full program crash.".

    JHIE8B的JavaScript bug 1不影响IE 9的IE8模式(测试用例,备用测试用例)。这个bug的描述是“在一个语句中使用querySelectorAll,它跳出一个for循环,触发一个完整的程序崩溃。”

It is somewhat inconvenient having to have multiple virtual machines, but at least they're free, and they work with VirtualBox, too.

拥有多个虚拟机有点不方便,但至少它们是免费的,而且它们也可以使用VirtualBox。


EDIT 1 (2012-08-21 19:40:46Z): Added an example of IE 9's IE 8 mode behaving differently than the real IE 8.

编辑1 (2012-08-21 19:40:46Z):增加了一个IE 9的IE 8模式与真实IE 8不同的例子。

EDIT 2 (2012-11-16 08:11:42Z): Updated the link in the first example of IE 9's IE 7 mode behaving differently than the real IE 7 and added the third example.

编辑2 (2012-11-16 08:11:42Z):在IE 9的ie7模式的第一个示例中更新链接,并添加第三个示例。

EDIT 3 (2012-11-22): Added eleven examples of IE 9's IE 8 mode behaving differently than the real IE 8.

编辑3(2012-11-22):增加了11个IE 9的IE 8模式与真实IE 8不同的例子。

#2


3  

To add to Nick's answer, here are two more examples of IE9 in IE7 mode behaving differently than the real IE 7:

为了给Nick补充答案,下面是IE9在IE7模式下的另外两个例子,它们的表现与真实的IE7不同:

  1. localStorage works in IE9-in-IE7-mode but not in IE7.
  2. localStorage在ie9 in-IE7模式下工作,但在IE7中不工作。
  3. sessionStorage works in IE9-in-IE7-mode but not in IE7.
  4. sessionStorage在ie9 in-IE7模式下工作,而在IE7模式下不工作。

Makes you wonder how many other web APIs implemented in IE9 will work in IE9-in-IE7-mode...

让你想知道有多少其他在IE9中实现的web api会在IE9 in- ie7模式下工作……

#3


1  

In IE10, there seems to be a series of very similar issues, that make the browser and document modes unfit for reliable testing.

在IE10中,似乎有一系列非常相似的问题,使得浏览器和文档模式不适合进行可靠的测试。

Many filters that do work in IE 7 and IE 8, do not work in the document and browser modes.

许多在IE 7和IE 8中工作的过滤器在文档和浏览器模式中都不工作。