加载页面时开始下载文件

Start Downloading a File When Page is Loaded

本文关键字:下载 文件 开始 加载      更新时间:2023-09-26

页面加载完成后,我希望它在新的选项卡/窗口中打开第二个页面,开始下载文件。我的代码如下:

<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。当我测试它时,我知道该功能正在执行,因为它显示了警报,但它并没有像我预期的那样打开选项卡并开始下载。

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

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