html 5 doctype和旧版浏览器

时间:2011-10-23 04:36:19

标签: asp.net html5

我正在建立一个新的网站,我想知道当一个旧的broswer(例如IE7)请求一个页面而doctype是HTML5时会发生什么?它目前设置为XHTML过渡,但我想添加HTML5视频。我应该切换到HTML5文档类型吗?

感谢。

3 个答案:

答案 0 :(得分:4)

选择HTML5 doctype是因为它是在支持它的浏览器中触发Web标准呈现模式所需的最低要求。它在旧版浏览器中运行良好,但它们不支持任何HTML5功能或标签。

如果需要,您可以立即更改doctype,但不会获得任何新功能。

关于HTML5中的标签,您可以识别旧版本的IE,并允许使用HTML5 Shim设置新标签的样式。 Modernizr script还包括一个Shim。

对于视频和音频等HTML功能,您需要使用一种名为pollyfilling的技术。这些pollyfill库会自动为没有它的浏览器填写缺少的功能。

大多数HTML5功能和一些CSS3都有pollyfills。

Modernizr wiki有good list个常见的pollyfill。

其中许多人使用Modernizr的功能测试来确定他们是否需要做任何事情。

视频的作用是图书馆检查HTML5的可用性,如果不可用则退回到flash。大多数用自己的外观替换HTML5原生chrome,无论使用哪种底层代码(native或flash),它都看起来都一样。

对于视频mediaelement.js使用此方法,我建议将其作为起点。

答案 1 :(得分:0)

这里有一个非常好的讨论:<!DOCTYPE html> and older browsers

一般来说,你应该可以使用doctype本身...但是,当然,这并不意味着旧的浏览器会神奇地支持所有很酷的HTML5内容,比如VIDEO标签。如果要支持旧浏览器,您需要找到变通方法和后备。

答案 2 :(得分:0)

无论doctype如何,在旧版IE中无法访问HTML5视频的问题都将是相同的。标准做法,至少在HTML5得到浏览器的广泛支持之前,如果用户的浏览器不支持HTML5,则使用可以优雅地回退到Flash(或任何您喜欢的回退)的库。我个人使用JWPlayer成功完成了这项任务。