Dive Into HTML5:检测 HTML5 特性
原文出处:http://www.devbean.info/2011/04/dive_into_html5_3/,转载请注明原始出处。
我们前面已经说过,HTML 5 不是一个全新的事物。你不能说诸如“我的浏览器不支持 HTML 5”之类的话。但是,你可以检测你的浏览器究竟支持 HTML 5 的哪些特性。下面,我们将介绍一下这种技术。当浏览器渲染 web 页面的时候,它会构造一个文档对象模型(Document Object Model,DOM)。这是一组用于表现页面上 HTML 元素的对象。每一个元素,例如每一个 <p>,每一个 <div>,每一个 <span> 都有不同的 DOM 对象表示。当然,也有一种全局的对象,例如 window 和 document,不过它们不是用来表示特定元素的。
所有的 DOM 对象都有一些通用属性,也有其自己特有的属性。支持 HTML 5 特性的浏览器就会包含这种独一无二的属性。因此,我们利用这种技术,就可以检测浏览器究竟支持哪些新特性。在本节的后面的部分中,我们将从易到难地详细介绍这种技术。
Modernizr:HTML 5检测库
Modernizr是一个开源的,基于 MIT 协议的 JavaScript HTML 5特性检测库。它能够检测很多 HTML 5 和 CSS 3 的特性。你可以在其主页或者这里的地址,注意修改后缀名)中找到最新版本(当前最新版本是 1.7)。同别的 JS 库一样,你应该在 head 块中将其引入:
if (Modernizr.canvastext) { // let's draw some text!} else { // no native canvas text support available :( }