在转入HTML5之前,让我们花点时间来思考一下HTML4。也许你会认同它在解决静态文档间的相互链接方面已经做得相当出色了,它就是为此而生的。但技术永远不会驻足不前,很快,许多开发者觉得他们已经不满足于仅仅开发静态文档,他们想要开始创建更动态化并且像应用程序一样的站点。而HTML4缺少很多原生功能来实现这样的目标。为了实现视频、动画图形和各种复杂的控件,开发者们开始转向使用类似Flash这样的独立技术,或复杂的低效率的HTML、CSS和JavaScript的杂牌组合以开放的标准来实现这些功能。
虽然当初“DHTML”(动态HTML)这样的杂牌组合如今有JavaScript库或类似的东西来处理,但由于下列原因,它始终是个山寨货:
HTML5给出了解决方案并保持了向前兼容性。它包含了HTML4的所有特性,此外还增补了先前缺失的细节和几个新特性,它们可以结合起来创建各种应用,例如:
HTML5错误处理
在HTML5之前,错误处理的规范就从来没有定义过,这就把问题留给了浏览器厂商,让他们来决定如何处理标记错误。这导致了不统一的错误处理方式和出现错误时不同浏览器有不同的渲染结果。既然越来越多的浏览器开始使用具有一致的错误处理机制(如规范里所定义的)的HTML5解析器,这样大量的跨浏览器兼容性问题就应该消失。
使用原生HTML来嵌入视频比采用Flash更棒的几点理由:
此外,几乎所有重要的HTML5特性在现代浏览器上都得到了很好的支持,而且还能为不支持的浏览器提供各种各样的替代方案和后备方案。因此在很多实际项目中HTML5已经得到了广泛应用,如果说这些技术对youtube.com来说已经足够了,那么对你来说也足够了,对不对?