我在服务器上生成一个文件需要一些时间。为此,我有一个隐藏的iframe然后我将.src属性设置为一个aspx文件,即iframe.src =“/ downloadFile.aspx”
当这种情况发生时,我想要一个Web服务调用返回进度。为此,我想我可以使用window.setInterval或window.setTimeout,但是一旦设置了iframe src属性,Javascript就会被阻止。
有谁知道如何解决这个问题,或者尝试不同的方法?
我也尝试过处理程序,但请求永远不会到达服务器,所以我假设是浏览器/ javascript问题。
//获取文件的函数
function GetFile() {
setTimeout(GetProgress, 1000);
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);
iframe.src = "downloadFile.aspx";
}
/ *不工作 - 获取进度的功能会发布数据,但在iframe完成之前永远不会收到它,并向用户显示文件下载对话框。 * /
function GetProgress() {
$.post('progress.file', function(data) {
console.log(data);
setTimeout(GetProgress, 1000);
});
}
答案 0 :(得分:0)
不确定你在做什么,但也尝试将你的iframe.src = ...代码放在window.setTimeout中。
答案 1 :(得分:0)