通过超链接下载< >在IE11中使用javascript
download img throught hyperlink <a> in IE11 using javascript
以下代码适用于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>
你不能在IE中使用这种方法,因为即使是版本11,它也不支持锚元素的"download"属性:http://caniuse.com/download
您将不得不求助于服务器端来生成图像并将其发送到客户端
相关文章:
- 使用javascript|IE11下载base64数据
- IE11在javascript中定义类时给出SCRIPT1002错误
- 正在取消IE11中的JavaScript事件
- jQuery/Javascript函数可以在Chrome中使用,但不能在IE11中使用
- 如何检测 javascript 文件是否被 IE11 安全设置阻止
- 可以'使用IE11时,不要读取Javascript中的cookie
- Typescript中的Javascript错误在IE11中生成JS
- IE11是否删除了javascript条件编译
- IE11 javascript重定向历史记录问题
- javascript对象检查在IE11中不起作用
- IE11在基于Kendo/JavaScript的web应用程序中崩溃
- 使用JavaScript清除IE11中的文本框选择
- JavaScript 在 Windows 7 上的 IE11 中dialogArguments._IE_PrintTyp
- Javascript issue with IE11
- .NET 4上的ASP.NET导致IE11 throw _doPostBack是未定义的javascript错误
- true !== true in IE11 javascript
- 为什么ie11 javascript在value方法中去掉空格
- IE11 JavaScript(错误:SCRIPT445)“对象”不支持此操作
- Nodelist getAttribute IE11 JavaScript Error
- IE11 Javascript更改事件不与html表单元素工作