用于帮助旧浏览器支持HTML5标记的非JavaScript解决方案

时间:2012-10-19 20:34:54

标签: javascript html5 modernizr

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

我对此感到高兴,但是有一天有人告诉我他们没有使用HTML5标签,因为显然你需要JS来让IE8很好地使用它们。而且我已经看到Modenizr没有加载会发生什么(我偶尔会玩高级JS并打破它,这会阻止Modenizr加载)。

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

但是我想知道如果你想在非HTML5浏览器中支持HTML5标签,那里有什么解决方案。或者我的上述假设是否相当准确,这真的不值得思考?

1 个答案:

答案 0 :(得分:3)

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

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

可以通过将整个文档转换为xhtml并为HTML5标记使用不同的命名空间来实现这一点 - 请参阅http://www.webstack.co.uk/html5_without_javascript_ie8/以获取示例。

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

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