加载页面时开始下载文件

时间:2015-02-08 19:17:36

标签: javascript click download

页面加载完毕后,我希望它在新的标签/窗口中打开第二页,开始下载文件。我的代码如下:

<html>
<head>  
<input type="hidden" id="start_download" onclick="parent.window.open('https://googledrive.com/host/xxxxx', '_blank');">
</head>
<body onload="startDownload()">
<script type="text/javascript">

function startDownload() {
     alert('Downloading...');
     document.getElementById('start_download').click();
}
</script>
</body>
</html>

此代码位于iFrame中,BTW。当我测试它时,我知道该函数正在执行,因为它显示警报,但它没有打开选项卡并按我的预期开始下载。

1 个答案:

答案 0 :(得分:0)

这是因为浏览器的安全功能不允许虚假点击打开新窗口。检查click事件的上下文,如果检测到它是伪造的,则不会触发该动作。 似乎有一种方法可以使用ajax,但你必须四处搜索。

当然,如果你的目的只是触发文件下载而不需要新窗口,只需创建一个隐藏的iframe并将其url指向要在加载时下载的文件。