WebShim canvas和IE8文档准备就绪

时间:2014-03-19 08:33:19

标签: html5 canvas internet-explorer-8 webshim

我使用webshim让画布在IE8中运行。

所有绘图功能都非常完美,但出于某些原因,当我使用$.webshims.polyfill('canvas');时,我的文档就绪处理程序并不会触发。

我尝试过使用jQuery' $()$.webshims.ready('canvas', function() {,但似乎都没有效果。

如果我打开控制台并手动运行$.webshims.isReady('canvas'),它会返回false。如果我只是使用setTimeout然后运行我的代码,那么所有内容都会正确绘制,所以看起来它似乎已加载了画布。

我用来加载画布的代码:

window.FlashCanvasOptions = { disableContextMenu: true };

$.webshims.setOptions( 'canvas', { type: 'excanvas' } );

$.webshims.polyfill('canvas');  

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您更改为不同的excanvas版本。只需使用此版本并将以下代码复制到文件的最后:

(function(document){
webshims.addReady(function(context, elem){
    if(context == document){
        if(window.G_vmlCanvasManager && G_vmlCanvasManager.init_ ){
            G_vmlCanvasManager.init_(document);
        }
    }
    webshims.$('canvas', context).add(elem.filter('canvas')).each(function(){
        var hasContext = this.getContext;
        if(!hasContext && window.G_vmlCanvasManager){
            G_vmlCanvasManager.initElement(this);
        }
    });
});
webshims.isReady('canvas', true);
})(document);