Internet Explorer 9 或更高版本可能会在设计模式下生成无效的 HTML

警告

已停用、不受支持的 Internet Explorer 11 桌面应用程序在某些版本的 Windows 10 上已通过 Microsoft Edge 更新永久禁用。 有关详细信息,请参阅 Internet Explorer 11 桌面应用停用常见问题解答

本文提供了一种解决方法,用于解决 Internet Explorer 9 或更高版本在设计模式下创建的无效 HTML。

原始产品版本: Internet Explorer 9 及更高版本
原始 KB 数: 2667114

现象

用户在 Internet Explorer 9 或更高版本中加载以下代码,并在 Internet Explorer 9 标准模式下呈现它:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <title>HR</title>
    </head>
    <body contentEditable="true" onload="document.body.focus()">
        <hr>
    </body>
</html>

在此场景中,可编辑元素中的输入文本可能包含在 <hr> 元素中,而这无效。 此问题可能发生在以下情况下:

  • 在接收焦点的可编辑元素中不执行鼠标单击。
  • 如果在 <hr> 元素后键入文本,可以使用箭头键进入 <hr> 元素内进行文本输入。

解决方法

若要解决此问题,请使用以下选项之一:

  1. 在键入之前,先在元素上执行鼠标点击。
  2. 将另一个元素,例如 <div><span>,直接置于 <hr> 元素的前面。
  3. 除 Internet Explorer 9 或更高版本标准模式外,使用任何其他文档模式呈现页面。