我正在使用webshim让canvas在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'); 有什么想法吗?
发布于 2014-03-26 04:11:31
以防您已更改为不同的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);https://stackoverflow.com/questions/22500184
复制相似问题