2010-01-26 78 views
0

我在JavaScript中有下列下载请求:如何捕获附件响应窗口的onload事件?

var exportWindow = window.open('Download.ashx?source=1', ''); 
exportWindow.onload = function() { 
    alert('finished'); 
}; 

我的问题是,上面的提示框不会出现。 download.ashx设置了以下响应(它将被保存为一个csv文件),它可以正常工作。

 context.Response.ClearContent(); 
     context.Response.ContentType = "application/text"; 
     context.Response.AddHeader("content-disposition", "attachment; filename=\"" + fileName + "\""); 
     context.Response.Write(resultWriter.ToString()); 
     context.Response.Flush(); 
     context.Response.Close(); 

如果我更换一个正常的aspx页面的download.ashx,然后出现警报。 所以我的问题是:是否有可能以编程方式知道dowload.ashx返回响应? (使用FF3)提前

感谢, 格扎

回答

0

我不相信你能做到这一点。

如果您从内容类型的角度思考它,您正在加载一个类型为application/text的页面,该页面没有定义DOM模型或API,因此您不能期望DOM方法和事件可用。至少这是我对情况的理解。

我以前见过这种类型的问题,但我从来没有见过像你期待的那种简单的答案。

+0

我很害怕这个答案:-(。谢谢! – egyedg 2010-01-27 10:32:18

0

使用Firebug的 - 和微量元素是怎么回事用的console.log - 它好像它没有得到的警告都没有。在即你可以使用萤火虫精简版。您可能还需要使用窗口的名称来定位它。