HTML5 Canvas之测试浏览器是否支持Canvas的方法
来源: 阅读:626 次 日期:2015-03-17 11:14:28
温馨提示: 小编为您整理了“HTML5 Canvas之测试浏览器是否支持Canvas的方法”,方便广大网友查阅!

本文翻译自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文件即可:

代码如下:

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

代码如下:

function canvasSupport() {

return Modernizr.canvas;

}

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

更多信息请查看IT技术专栏

更多信息请查看 网页制作
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们| 联系我们| 人才招聘| 网站声明| 网站帮助| 非正式的简要咨询| 简要咨询须知| 加入群交流| 手机站点| 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00) 版权所有:
云南网警报警专用图标
Baidu
map