gpt4 book ai didi

javascript - 打开隐藏的 iframe 以在文档准备好时下载文件

转载 作者:行者123 更新时间:2023-11-30 10:32:26 24 4
gpt4 key购买 nike

我正在尝试使用此技巧在文档就绪时打开文件下载对话框。同样的技巧对我来说还有一次,但那次 iframe 是在 ajax 调用之后添加的。这是片段:

<script type="text/javascript">
$(document).ready(function() {
var url='/my_file_url/';
var _iframe_dl = $('<iframe />')
.attr('src', url)
.hide()
.appendTo('body');
});
</script>

虽然 iframe 在 html 代码中正确打印,但它没有预期的行为:加载页面后没有出现下载文件弹出窗口。对原因有什么帮助吗?

最佳答案

It works just fine ,假设 MIME 是将开始下载的类型,例如 application/octet-stream。由于内置 pdf 阅读器,您可能会遇到浏览器呈现它但不提供下载的问题。

$(document).ready(function(){
var url='data:application/octet-stream,hello%20world';
var _iframe_dl = $('<iframe />')
.attr('src', url)
.hide()
.appendTo('body');
});

如果客户端使用的是现代浏览器,另一种解决方案是使用 <a> hrefdownload 设置,然后模拟点击它。

var a = document.createElement('a'),
ev = document.createEvent("MouseEvents");
a.href = url;
a.download = url.slice(url.lastIndexOf('/')+1);
ev.initMouseEvent("click", true, false, self, 0, 0, 0, 0, 0,
false, false, false, false, 0, null);
a.dispatchEvent(ev);

关于javascript - 打开隐藏的 iframe 以在文档准备好时下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16144820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com