canvas教程

HTML5 Canvas之测试浏览器是否支持Canvas的方法_html5教程技巧

字号+ 作者:H5之家 来源:H5之家 2015-10-06 15:01 我要评论( )

HTML5 Canvas之测试浏览器是否支持Canvas的方法_html5教程技巧HTML5中文学习网,是中国最大的HTML5中文门户,为广大HTML5爱好者提供各种HTML5资料,包括HTML5网

HTML5 Canvas之测试浏览器是否支持Canvas的方法_html5教程技巧HTML5中文学习网,是中国最大的HTML5中文门户,为广大HTML5爱好者提供各种HTML5资料,包括HTML5网

这篇文章主要介绍了HTML5 Canvas之测试浏览器是否支持Canvas的方法,本文给出了两种原生方法和一个modernizr类库,需要的朋友可以参考下

本文翻译自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网站中提到了这种方案:

复制代码

代码如下:


function canvasSupport() {
return !!document.createElement('canvas').getContext;
}
function canvasApp() {
if (!canvasSupport()) {
return;
}
}


我们最钟爱的方法是使用modernizr.js库(在中可以找到)。Modernizr是一个简单易用的轻量级JavaScript库,用于测试各种Web技术的兼容性 — 它提供了很多静态的Boolean方法,可以用来测试当前Canvas是否得到支持。

在HTML页面中引入modernizr很简单,从上下载代码,,然后在HTML页面中包含这个外部js文件即可:

复制代码

代码如下:


<script src="modernizr-1.6.min.js"></script>


使用Modernizr测试Canvas的支持性,只需将上面的canvasSupport函数改动一下就可以了:

复制代码

代码如下:


function canvasSupport() {
return Modernizr.canvas;
}


我们认为,判断浏览器是否支持Canvas,使用Modernizr.js是最好的方案。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • html5canvas核心技术图形、动画与游戏开发源码

    html5canvas核心技术图形、动画与游戏开发源码

    2017-05-02 17:42

  • 打印html5中Canvas的方法

    打印html5中Canvas的方法

    2017-05-01 15:03

  • HTML5+Canvas调用手机拍照功能实现图片上传(下)

    HTML5+Canvas调用手机拍照功能实现图片上传(下)

    2017-04-30 17:00

  • HTML5新特性详解(三)

    HTML5新特性详解(三)

    2017-04-30 16:03

网友点评