HTML5 Canvas: 测试浏览器是否支持Canvas
来源:互联网 发布:多益网络有多少员工 编辑:程序博客网 时间:2024/04/28 22:27
原文:
http://www.lifelaf.com/blog/?p=342
本文翻译自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: 测试浏览器是否支持Canvas
- js判读浏览器是否支持html5的canvas
- html学习 - 检测浏览器是否支持Canvas
- 检查浏览器是否支持画布<canvas>
- BAE支持HTML5 Canvas
- html5 canvas自动化测试
- HTML5之3__测试浏览器是否支持HTML5
- html5 canvas
- html5-canvas
- HTML5 canvas
- html5 canvas
- HTML5 Canvas
- HTML5 Canvas
- html5 canvas
- HTML5 Canvas
- HTML5--Canvas
- HTML5 Canvas
- HTML5 canvas
- windows下Qt5安装使用
- 大三末
- 一个很简单易懂的js图片显示代码
- 通过printf函数简单实现解析不定参数表
- 数据结构之数组
- HTML5 Canvas: 测试浏览器是否支持Canvas
- Python代码风格指南
- linux查看硬件信息,测试硬盘读写
- 多重继承教师与干部类
- poj2112 Optimal Milking (Dinic+Floyd+二分)
- JAVA-Spring-Aop拦截ACTION中的方法,但是运行时AOP会拦截我Action中所有的私有属性的一些get,set方法。
- 数据库应用开发周期各个阶段采集的数据和产生的文档示例
- hdu2030汉字统计
- C++构造函数详解