尝试下载画布时与IE的兼容性问题

时间:2015-01-01 03:21:50

标签: javascript internet-explorer html5-canvas

我遇到了Internet Explorer和Canvas的问题。当我在任何其他浏览器中测试它时,它可以工作。只是IE给了我适合。 这是我的Javascript函数的实现。

<script type="text/javascript">
var szorientation;
   szorientation="l";

/*****************************************************************
* This is the function that will take care of image extracting and
* setting proper filename for the download.
* IMPORTANT: Call it from within a onclick event.
*****************************************************************/
function downloadCanvas(link, canvasId, filename) {
    link.href = document.getElementById(canvasId).toDataURL("image/jpeg");
    link.download = filename;
}

function begin(){
   initcanvas();
}
</script>

这就是它被召唤的地方。我哪里错了?

<script>
//Download image to user
    document.getElementById('myalink').addEventListener('click', function() {
    downloadCanvas(this, 'memcanvas', 'mypic.jpg');
}, false);

var imageLoader = document.getElementById('imageLoader');
    imageLoader.addEventListener('change', handleImage, false);


document.addEventListener('DOMContentLoaded',domloaded,false);
function domloaded(){
    // your code here.
   begin(); 
}
</script>

提前致谢!

1 个答案:

答案 0 :(得分:0)

IE尚不支持download属性,因此您的代码无法在IE中使用。

你可以使用Eli Gray的这个很好的解决方法让IE用户将你的画布下载到他们的本地驱动器:

https://github.com/eligrey/FileSaver.js

或者你可以去“老派”并在另一个浏览器标签中打开canvas.toDataURL作为图片,然后让用户右键点击另存为“该图片”。