我有一个画布元素:
<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中的异常。我该怎么办?
答案 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来满足您的所有功能检测需求。