利用HTML5新标签对象的方法来进行检测,比如Canvas对象的getContext()、Video对象的canPlayType等。如果浏览器支持HTML5,则返回相应的期望值(返回函数体,布尔值为true),否则无法获得期望值(返回undefined,布尔值为false)。
Canvas对象的getContext
// 方法一/**
* [supportHtml5 言成科技&HTML5学堂]
* @return {[type]} [description]
*/
function supportCanvas() {
return (typeof document.createElement('canvas').getContext === "function")
}
console.log(supportCanvas())
Video对象的canPlayType
// 方法二/*
* [supportsVideo 言成科技&HTML5学堂]
* @return {[type]} [description]
*/
function supportVideo() {
return !!document.createElement('video').canPlayType
}
console.log(supportVideo())
在创建HTML5 canvas元素之前,首先要确保浏览器能够支持它。如果不支持,就要为那些古董级浏览器提供一些替代文字。下面的代码就是检测浏览器支持情况的一种方法。try { document.createElement("canvas").getContext("2d")document.getElementById("support").innerHTML = "HTML5 Canvas is supported in your browser."} catch (e) { } 上面的代码试图创建一个canvas对象,并且获取其上下文。如果发生错误,则可以捕获错误,进而得知该浏览器不支持canvas。页面中预先放入了ID为support的元素,通过以适当的信息更新该元素的内容,可以反映出浏览器的支持情况。 以上示例代码能判断浏览器是否支持canvas元素,但不会判断具体支持canvas的哪些特性。这个时候,示例中使用的API已经很稳定并且各浏览器也都提供了很好的支持,所以通常不必担心这个问题。 此外,希望开发人员能够像如上代码一样为canvas元素提供备用显示内容。方法一:
if ( typeof(Worker) !== "undefined" ) {
alert("支持html5")
} else {
alert("不支持html5")
}
方法二:
if ( window.applicationCache ) {
alert("支持html5")
} else {
alert("不支持html5")
}