javascript - IE8 上的 html2canvas 和 flashcanvas 无法正常工作

标签 javascript canvas internet-explorer-8 html2canvas flashcanvas

我使用 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,所以我添加了 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'"

谁能帮帮我?

最佳答案

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

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

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

关于javascript - IE8 上的 html2canvas 和 flashcanvas 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13875498/

相关文章:

javascript - FF 中的 shift-reload 给出了意想不到的结果

css - 网页字体未加载 IE8

php - 重定向在 IE 8 及更早版本中随机失败

css - IE8 不加载 CSS

javascript - $scope 中的值在 location.path 之后不可见

javascript:最快的查找方式是字符串位于一组字符串中

javascript - 淡入图像

javascript - 如何在 console.log() 上显示的表中获取值?

javascript - 当我没有纬度和经度时如何显示地址的街景

javascript - 使用 drawImage 缩放上面的 Canvas