【发布时间】:2014-03-27 17:14:00
【问题描述】:
以下代码适用于 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 中运行?
【问题讨论】:
-
这只是意味着您没有可以处理数据的应用程序:IE中安装的协议。我得到 HTML1300:发生导航。文件:unknownprotocol.htm
-
@mplungjan,那么如何让它工作呢?
-
在您的 IE 上安装数据协议的处理程序? - 在这里阅读 cmets msdn.microsoft.com/en-us/library/cc848897(v=vs.85).aspx
-
没有。显然这是IE的限制。 From msdn.microsoft.com/en-us/library/cc848897(v=vs.85).aspx “出于安全原因,数据 URI 仅限于下载的资源。数据 URI 不能用于导航、脚本或填充框架或 iframe 元素。”
-
@Yuriy Galanter,我可以在 IE11 中使用什么替代此代码?
标签: javascript hyperlink internet-explorer-11