HTML2Canvas和FlashCanvas在IE8上无法工作

4

我使用html2canvas库来制作表格的png图像。

它可以在Chrome、Firefox和Safari上运行。

代码如下:

$('#myTable').html2canvas ({     
    onrendered : function(canvas) {                           
        var img = canvas.toDataURL('image/png');
        var newWin = window.open('', '_blank','width=500,height=400');
        var htmlPage = "";
        htmlPage += "<html>";
        htmlPage += "<head>";
        ...
        htmlPage += "</head>";
        htmlPage += "<body>";
        ...   
        htmlPage += "<img src='"+img+"' width='400px'/>";
        ...   
        htmlPage += "</body>";
        htmlPage += "</html>";
        newWin.document.write(htmlPage);
    }
});

当我使用IE8打开该页面时,页面无法正常工作。
我已经阅读了相关信息,并添加了FlashCanvas库及以下代码行:
<!--[if lt IE 9]>                
   <script type="text/javascript src="../sample/flashcanvas.js"></script>
<![endif]-->

因此,当我使用IE8打开页面时,库flashcanvas.js已加载!

但问题仍然存在! IE8告诉我:

"The object does not support the property or the method 'toDataURL'"

有人能帮我吗?

1个回答

1

我不确定如何创建canvas元素,但你可能需要在onrendered回调函数中执行类似以下的操作:

if (typeof FlashCanvas != "undefined") {
    FlashCanvas.initElement(canvas);
}
var img = canvas.toDataURL('image/png');
// etc...

请在此处查看文档:http://flashcanvas.net/docs/usage


错误现在不同了:<< SCRIPT16389:未指定错误。 flashcanvas.js,第24行第56列>> - Tommaso Taruffi
看起来是flashcanvas.js文件中的未指定错误 :) - David Hellsing

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接