3

我经常看到有人建议我包含HTML5 shiv JS 脚本以使 HTML5 在 Internet Explorer 中工作,但我无法找到关于这将涵盖的最常见用例的明确解释。

有人会给出为什么需要这个 JS 脚本的常见场景吗?

此外,它是否需要放在标签<head>底部,或者我可以将它与我的 JS 的其余部分放在标签底部,<body>这样它就不会阻塞 UI 线程?

4

1 回答 1

5

版本 9 之前的 Internet Explorer 拒绝将任何 CSS 样式应用于它无法识别的 HTML 元素,这包括 HTML5 引入的新元素。通过 JavaScript DOM 创建元素,它突然神奇地意识到元素确实应该设置样式。

您可以编写一个简单的脚本,循环遍历您想要调用的 HTML5 标记名称数组document.createElement(tagName)。在大多数情况下,这可能对您有用,但是,在 IE 中打印 HTML5 页面并通过 innerHTML 添加 HTML5 内容会导致您遇到更多问题,此时最好切换到 shiv。

HTML5 shiv 可以,据我所知,如果您愿意,可以将其放在头部或正文标记之后。我建议使用条件注释,以便只有 IE 加载它。

于 2012-09-22T23:54:20.760 回答