javascript - 使用javascript在IE11中通过超链接<a>下载img

标签 javascript hyperlink internet-explorer-11

以下代码适用于 Google Chrome 但不适用于 IE11。

<!DOCTYPE html>
<html>
<head>
    <title>title</title>
</head>
<body>
    <img id="img1" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAASUlEQVRo3u3PAQ0AIAwDsIGC+TcL
LkhOWgddSU6Ga5udT4iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi8cQEjUgGT
mE6z3QAAAABJRU5ErkJggg==" />
    <script>
        var a = document.createElement('a');
        var image = document.getElementById('img1');
        a.setAttribute('href', image.src);
        a.setAttribute("download", 'fileName');
        document.body.appendChild(a);
        a.click();
        document.body.removeChild(a);
    </script>
</body>
</html>

当我在 IE11 中运行此代码时,我收到消息:“您要允许此网站在您的计算机上打开应用程序吗?”

点击“允许”后,我得到“没有安装打开此类链接(数据)的应用”

如何让它在 IE11 中工作?

最佳答案

这个对 IE10+ 很有用:http://msdn.microsoft.com/en-us/library/hh779016(v=vs.85).aspx

类似于:

<!DOCTYPE html>
<html>
<head>
    <title>title</title>
</head>
<body>
    <img id="img1" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAASUlEQVRo3u3PAQ0AIAwDsIGC+TcL
LkhOWgddSU6Ga5udT4iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi8cQEjUgGT
mE6z3QAAAABJRU5ErkJggg==" />
    <canvas id="canvas1"></canvas>
    <script>
        var image = document.getElementById('img1');
        var canvas = document.getElementById('canvas1');
        var ctx = canvas.getContext('2d');
        ctx.drawImage(image, 0, 0, image.width, image.height);
        window.navigator.msSaveBlob(canvas.msToBlob(), 'drawingFileName.png');
    </script>
</body>
</html>

关于javascript - 使用javascript在IE11中通过超链接<a>下载img,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22665111/

相关文章:

javascript - 如何在有序列表中定位数组的特定部分

javascript - Foundation 5.2.2 顶部栏下拉菜单不适用于移动设备

css - Chrome 是否有设置 :visited css properties? 的问题

html - IE11 - 忽略所有@media 查询 - Bootstrap

html - IE 中的 box-shadow 呈现透明线/边框

javascript - Vuex:直接访问商店还是传递属性?

Javascript数组过滤两个搜索框

python - 在 python 中使用正则表达式将 URL 替换为链接

html - 我怎样才能使 HTML a href 超链接打开一个新窗口?

javascript - 当我们更改下拉选项时,下拉选择会挂起