IE中不支持的画布会触发异常

时间:2013-08-16 13:39:15

标签: javascript html internet-explorer html5-canvas

我有一个画布元素:

<canvas  id="canvas" width="300" height="300"> 
   Canvas not supported
</canvas> 
.ps文件中的

代码:

var ct= document.getElementById('canvas');
var ctx = document.getElementById('canvas').getContext('2d');

但是当我在旧版本的IE中加载它时会触发一个异常,即不支持方法getContext

我想做的是写下这样的东西:

if (!ctx.getContext) ctx = { getContext: function () { } };

摆脱IE中的异常。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您的情况结构严重,很难看出您的计划是什么 - 您是否只是在每次调用时检查getContext()返回的内容?为什么不检查whether or not it exists in the first place

var ct= document.getElementById('canvas');
if ('getContext' in ct) {
    var ctx = ct.getContext('2d');
    //Rest of code
}

或者尝试使用this question的答案之一,或使用Modernizr来满足您的所有功能检测需求。