• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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网站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中绘制矩形实例
    下一篇:HTML页面中添加Canvas标签示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    HTML5 Canvas之测试浏览器是否支持Canvas的方法 HTML5,Canvas,之,测试,浏览器,