0

我正在使用此代码段将画布另存为图像:当我单击按钮快照id="snap" 时,将打开 FF 中的新选项卡(或窗口,在 chrome 中)并调用图像。

document.getElementById('snap').addEventListener('click', function () {
    stage.toDataURL({
        callback: function call (dataUrl) {
            window.open(dataUrl);
        },
        mimeType: 'image/png',
        quality: 1
    })
});

问题是 IE9 给我一个错误并且不显示文件。该错误表示打开文件需要软件。老实说,我不明白这个错误,微软在说什么软件?如果有任何解决方案或解决方法,请提供帮助。

4

2 回答 2

0

似乎目前没有解决方案可以在 IE 中使用完整的 JS 来执行此操作...这里有一个解决方案,使用 php 查询:

http://danielmclaren.com/node/90

<?php
/**
 * an example URL for viewing a base64-encoded image:
 * http://example.com/decode.php?image/png;base64,iVBORw0KGgoAAAANS...
 */
$data = split(";", $_SERVER["QUERY_STRING"]);
$type = $data[0];
$data = split(",", $data[1]);
header("Content-type: ".$type);
echo base64_decode($data[1]);
?>
于 2014-05-17T19:37:45.497 回答
0

我没有在 IE 中测试过这个解决方案,但它在 Chrome 35.x 中运行良好。

在 jQueryUI 对话框上显示图像并提示用户执行右键单击,另存为。

页面代码:

<script srv='jquery-ui.js'></script>

<div id='ImageExportDialog'></div>

Javascript:

$('#ImageExportDialog').dialog({autoOpen:false, modal:true});

Javascript:

document.getElementById('ImageExportDialog').src = canvas.toDataURL();

于 2014-06-30T16:31:25.397 回答