0

我正在使用 webshim 让画布在 IE8 中工作。

所有的绘图功能大部分都可以完美地工作,但是由于某种原因,当我使用$.webshims.polyfill('canvas');我的文档就绪处理程序时不会触发。

我试过同时使用 jQuery$()和jQuery,$.webshims.ready('canvas', function() {但似乎都没有工作。

如果我打开控制台并$.webshims.isReady('canvas')手动运行,它确实会返回false. 如果我只使用 asetTimeout然后运行我的代码,一切都会正确绘制,所以画布似乎已加载。

我用来加载画布的代码:

window.FlashCanvasOptions = { disableContextMenu: true };

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

$.webshims.polyfill('canvas');  

有任何想法吗?

4

1 回答 1

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);
于 2014-03-25T20:11:30.673 回答