【发布时间】:2014-03-19 08:33:19
【问题描述】:
我正在使用 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');
有什么想法吗?
【问题讨论】:
-
愚蠢的问题,但是您打开控制台并查看是否有任何错误或日志?你用的是真正的IE8还是IE10?
-
日志中完全没有错误 - 使用真正的 IE8。奇怪的是我有一个测试用例,其中
$()正在工作,如果我在一段时间后开始绘图,我的主要项目可以正常工作,尽管我显然不能依赖setTimeout。一旦我删除了$.webshims.polyfill('canvas');,$()就可以工作了,所以它肯定与 polyfill 有关。 -
这很奇怪。作为一种解决方法,您可以使用 webshim.setOptions('waitReady', false);。要调试这个东西,你可以简单地在 excanvas 文件的第 35 行和第 937 行设置两个断点(使用 dev 文件夹中的那个)。提示:你也可以在 IE8 模式下使用 IE9。
-
酷,谢谢。我会检查并回复你。
-
关于这个的任何消息???
标签: html canvas internet-explorer-8 webshim