1

我很清楚使用 HTML5 的注意事项并且仍然需要支持旧版浏览器(阅读 IE8 和更低版本)...您需要添加 shiv 或 Modenizr 或类似的东西,以使您的小网站尊重和标签。

我对此很满意,但是前几天有人对我说他们没有使用 HTML5 标签,因为显然你需要 JS 才能使 IE8 与这些标签很好地配合。而且我已经看到未加载 Modenizr 会发生什么(我偶尔会使用高级 JS 并打破它,这会停止 Modenizr 加载)。

现在我个人认为这是一个不必要的陈述,因为关闭了 JS 的浏览器 IE8 及更低版本的 useshare 可能代表了您用户群的 0.000001%(特别是考虑到这是由不支持或测试的人告诉我的IE7 及更低版本)。

但我想知道如果您想在关闭 JS 的非 HTML5 浏览器中支持 HTML5 标签,有哪些解决方案。还是我的上述假设非常准确,真的不值得考虑?

4

1 回答 1

3

对不起。在不使用 Javascript 的情况下,在 IE8 中使用 HTML5 标签没有好的解决方案。

HTML5Shiv 和 Modernizr 利用了唯一已知的 hack,它可以使 IE 以一种可用于现代 HTML5 网站的方式识别未知标签。

可以通过将整个文档转换为 xhtml 并为 HTML5 标签使用不同的命名空间来做到这一点——例如,请参阅http://www.webstack.co.uk/html5_without_javascript_ie8/

但是,这些技术并不理想,因为 IE 存在带有未知标记的错误,这些错误超出了能够正确呈现它们的基本错误。在 HTML5Shiv hack 处理的动态内容和打印等领域,它们还有几个进一步的错误,但不是像这样的命名空间 hack。

底线:html5shiv 就是答案。如果您确实需要支持禁用 Javascript 的 IE8 用户,请考虑完全不使用 HTML5 标签。

于 2012-10-19T20:44:53.273 回答