我使用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');
有什么想法吗?
答案 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);