【问题标题】:Dynamically created link working in chrome but not in firefox or IE动态创建的链接在 chrome 中工作,但在 firefox 或 IE 中不工作
【发布时间】:2016-01-19 01:54:12
【问题描述】:

以下 HTML 文件在 chrome 中打开时会下载 test.gif 文件。在 Firefox/IE 上,没有任何反应。

<html>
<head>
<script type="text/JavaScript" language="JavaScript">
    function s() {
       var link = document.createElement('a');
       link.download = "test.gif";
       link.href = 'http://192.168.20.22/mantis/images/mantis_logo.gif';
       link.click();
    }
</script>
</head>
<body onload="s()" >
</body>
</html>

Firebug 告诉我链接对象已正确创建并且 href 已设置,但在调用 link.click() 时却没有任何反应。知道为什么吗?

【问题讨论】:

标签: javascript html firefox


【解决方案1】:

我认为它需要添加到 DOM 中才能工作。试试这个:

function s() {
   var link = document.createElement('a');
   link.download = "test.gif";
   link.href = 'http://192.168.20.22/mantis/images/mantis_logo.gif';
   document.body.appendChild(link);
   link.click();
}

如果您不希望它挂在身边,您也可以在点击后添加以下内容,立即将其移除:

link.parentNode.removeChild(link);

【讨论】:

    猜你喜欢
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 2017-07-21
    • 1970-01-01
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多