2010-01-26 80 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 - 它好像它沒有得到的警告都沒有。在即你可以使用螢火蟲精簡版。您可能還需要使用窗口的名稱來定位它。