我有一个使用HTML 5 canvas的html页面。我使用以下代码创建画布对象。

<canvas id="testCanvas" width="200" height="200">
    Canvas Not Supported
</canvas>


这将按预期工作,并在诸如IE 8之类的浏览器中显示文本“ Canvas Not Supported”。但是,与画布相关联的以下JavaScript存在问题。

<script>
    var testCanvas = document.getElementById("testCanvas");
    var testCanvasContext = testCanvas.getContext("2d");
</script>


上面的代码抛出错误消息,在不支持画布的浏览器中对象不支持此属性或方法。用javascript处理此问题的正确方法是什么?

请不要建议使用excanvas之类的库。

最佳答案

尝试以下内容:

<script>
   var testCanvas = document.getElementById("testCanvas");
   var testCanvasContext = window.CanvasRenderingContext2D && testCanvas.getContext("2d");
   if (testCanvasContext) {
      // do stuff
   }
</script>

10-08 11:48