在IE下动态创建canvas使用excanvas时失效解决方法

    技术2022-05-19  18

    excanvas用来支持ie6使用canvas画布。(现在叫explorercanvas )

    引入excanvas.js以后,在ie下,文档中的canvas就可以用了,但是如果是通过createElement方法创建的就不行了

     

    var canvas=document.createElement(”canvas”); if(canvas.getContext){ alert(”support getContext()”); }

     

    因为加载并执行excanvas.js这个脚本代码的时候,G_vmlCanvasManager_.init();这句语句遍历了页面中所有的canvas元素,然后初始化这些元素。 由于js的函数中,如果一个变量不通过var来定义,那么就会把这个变量当作一个全局变量。

     

    网上找到的方法一

    这个方法单独对某个canvas初始化,注意是文档加载完成后才操作。$(function(){ var canvas=document.createElement(”canvas”); document.body.appendChild(canvas); if($.browser.msie){ canvas=window.G_vmlCanvasManager.initElement(canvas); } if(canvas.getContext){alert(”support”);} });  

     

    方法二

    第二种方法对整个document再初始化一次。

     

    var canvas=document.createElement(”canvas”); document.body.appendChild(canvas); if($.browser.msie){ G_vmlCanvasManager.init_(document); } if(canvas.getContext){alert(”support”);} });

     

     

    转载地址 http://fatkun.com/2010/11/excanvas.html


    最新回复(0)