【发布时间】:2010-04-06 00:00:58
【问题描述】:
我正在服务器上生成一个文件,这需要一些时间。为此,我有一个隐藏的 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";
}
/*DOES NOT WORK - 获取进度的函数发布数据,但在 iframe 完成并向用户显示文件下载对话框之前从不接收它。 */
function GetProgress() {
$.post('progress.file', function(data) {
console.log(data);
setTimeout(GetProgress, 1000);
});
}
【问题讨论】:
标签: asp.net javascript progress-bar