HTML5 Canvas之测试浏览器是否支持Canvas的方法
程序员文章站
2023-10-24 10:37:52
这篇文章主要介绍了HTML5 Canvas之测试浏览器是否支持Canvas的方法,本文给出了两种原生方法和一个modernizr类库,需要的朋友可以参考下... 15-01-01...
本文翻译自steve fulton & jeff fulton html5 canvas, chapter 1, “testing to see whether the browser supports canvas”.
在获取html页面上canvas元素的引用后,我们需要测试一下该元素是否包含“上下文”(context)。canvas的上下文指的是由浏览器定义的用于绘画的平面。简单地说,如果上下文不存在的话,canvas也就名存实亡了。测试浏览器是否支持canvas有好几种方法。第一种方法是检查html页面中canvas元素的getcontext方法是否存在:
复制代码
代码如下:if (!thecanvas || !thecanvas.getcontext) {
return;
}
事实上,上述代码测试了两点:其一,测试了thecanvas是否为false(如果id不存在的话,document.getelementbyid()会返回false);其二,测试了getcontext()函数是否存在。
在上述代码中,如果测试失败,那么return语句执行,程序终止。
另一种方法是创建一个专门用于判断canvas是否得以支持的函数,而在该函数中,实时生成一个canvas元素来进行这种判断 — 这种方法很流行,mark pilgrim在他的html5网站http://diveintohtml5.org中提到了这种方案:
复制代码
代码如下:function canvassupport() {
return !!document.createelement('canvas').getcontext;
}
function canvasapp() {
if (!canvassupport()) {
return;
}
}
我们最钟爱的方法是使用modernizr.js库(在http://www.modernizr.com中可以找到)。modernizr是一个简单易用的轻量级javascript库,用于测试各种web技术的兼容性 — 它提供了很多静态的boolean方法,可以用来测试当前canvas是否得到支持。
在html页面中引入modernizr很简单,从http://www.modernizr.com上下载代码,然后在html页面中包含这个外部js文件即可:
复制代码
代码如下:<script src="modernizr-1.6.min.js"></script>
使用modernizr测试canvas的支持性,只需将上面的canvassupport函数改动一下就可以了:
复制代码
代码如下:function canvassupport() {
return modernizr.canvas;
}
我们认为,判断浏览器是否支持canvas,使用modernizr.js是最好的方案。
下一篇: 泡花菜的功效与做法
推荐阅读
-
html5中canvas学习笔记2-判断浏览器是否支持canvas
-
HTML5 Canvas之测试浏览器是否支持Canvas的方法
-
HTML5之3__测试浏览器是否支持HTML5
-
利用html5以及canvas实现支持签名插件的方法
-
html5中canvas学习笔记2-判断浏览器是否支持canvas_html5教程技巧
-
使用js检测浏览器是否支持html5中的video标签的方法_javascript技巧
-
html5中canvas学习笔记2-判断浏览器是否支持canvas_html5教程技巧
-
使用js检测浏览器是否支持html5中的video标签的方法_javascript技巧
-
js判读浏览器是否支持html5的canvas的代码_javascript技巧
-
使ie9以下版本支持canvas,css3等主流html5技术的方法_html/css_WEB-ITnose