Categories
Latest
Popular

浏览器兼容:IE11 中的细微兼容性更改

随着时间的推移,诸如兼容性手册、开发人员指南和 IE 团队博客等资源在强调对 Internet Explorer 所做的主要更改方面非常出色。 但是,平均每个版本都引入了大量代码更改,这意味着许多更改未包含在这些资源中。 以下是对 IE11 所做的某些细微更改的列表,这些更改可以影响许多经常访问的网站。 该列表并非面面俱到,仅供帮助。

 

ActiveX 和插件细微更改

以下是某些与 Microsoft ActiveX 控件、插件、浏览器帮助程序对象 (BHO) 和其他浏览器加载项相关的细微更改:

  • 对于 object 元素,当对象加载 Flash 时将忽略 classid 属性。 对于其他加载项,该属性的行为方式与较早版本的浏览器中的行为方式相同。
  • 现在,Object 和 embed 元素可以在向 ActiveX 控件的二进制文件注册的 MIME 类型上使用 type 属性 MIME 类型。
  • 将 type 属性设置为不再触发例外后,设置 object 元素的 data 属性。

CSS 和布局细微更改

以下是某些与 CSS 和布局相关的细微更改:

  • 在可互操作的 Quirks 模式中,简单选择器现在支持用于专门标识目标的 :hover 规则。
  • 在可互操作的 Quirks 模式中,末尾的空格不再影响 div 元素的宽度或可见容器。
  • 无效的 @charset 声明(例如包含尖括号的声明)不再使整个 CSS 文件失效。
  • 从 IE11 边缘模式开始,表的列宽将指定为所需总宽的百分比。
  • 从 IE11 边缘模式开始,垂直剪切将与受欢迎浏览器的input type=text 元素更一致。
  • textAlign CSS 属性现在支持继承关键字。
  • 当将 align 属性设置为在 div 元素上“center”时,此属性将不再继承到 div 的子表中。

图形和图像处理细微更改

以下是某些与图形和图像相关的细微更改:

  • 适用于属性(hasAttributegetAttribute)的 DOM 方法不再针对图像的 width 和 height 属性返回 true。
  • 当 src 为空白时,图像和对象元素不再显示占位符帧。
  • 当 height 和 width 设置为零 (0) 时,图像将不再生成例外。
  • 其组件跨多个扫描的非进行性 JPEG 压缩图像现在可以正常解码。

表单细微更改

以下是对 HTML 表单所做的某些细微更改以及这些更改的处理方式:

  • 在表单不包含 input type=submit 元素的情况下,当在 input type=text 字段上按 Enter 键时,IE11 不再发出蜂鸣。
  • 现在按 ESC 键两次可仅清除表单的当前字段,而非整个表单。
  • 现在,当在 datalist 元素中选择项目时,可以同时触发输入事件。
  • 单击事件将不再从 label 元素传播到交互式子元素(例如 ainput type=file 等)。
  • 当表格包含多个输入元素时,Enter 键会立即为带有焦点的输入元素生成关键事件,而不是自动提交该表单。

HTML 和 DOM 细微更改

以下是某些与 HTML 解析和 DOM 相关的细微更改:

  • 使用 undefined(或 null)调用 insertBefore 作为第二个参数将不再引发例外。
  • 如果你使用 createElement 创建与缓存图像绑定的 IMG 元素,则新元素的宽度将对应于缓存图形的宽度。
  • 具有外部资源的脚本元素不应该再在 appendChild 期间执行。
  • 从 IE11 边缘模式开始,初始框架导航是同步操作。
  • 从 IE11 边缘模式开始,hidden 属性现在与其他浏览器一致。
  • 在该文档完全解析之前,document.readyState 属性不再更改为”交互式”。
  • 现在语言属性作为别名支持 navigator.userLanguage 属性。
  • 现在 date.toString 方法将返回与其他受欢迎浏览器一致的本地化值。
  • 现在值 “x-gbk” 作为别名支持受 charset 属性支持的 “gbk” 值。
  • 如果未加引号的属性在元素内指定为最后一个项目,则这些属性现在应用于元素(不推荐此用法)。
  • 当文档请求使用 XML MIME 类型时,会为以下内容返回 XMLDocument:使用implementation.createDocumentDOMParser.parseFromString 和 XMLHttpRequest 创建的文档。 所有其他 MIME 类型将返回 document 对象。
  • 创建 object 元素后,当创建对象(而非实例化该对象)时,getVariable 方法将可用。
  • 与框架相关联的窗口对象将不再受 moveTomoveByresizeTo 或 resizeBy 影响。
  • window.blur 方法将不再使其他浏览器窗口后面出现窗口。
  • 现在你可以使用 createTextNode 直接将文本节点添加到 XMLSerializer
  • Object 元素将不再支持 onreadystatechange 属性。 作为解决方法,你可以使用 addEventListener 注册 “readystatechange” 事件。

来源:微软官方

Discussion — No responses