代码之家  ›  专栏  ›  技术社区  ›  egyedg

如何捕获带有附件响应的窗口的onload事件?

  •  0
  • egyedg  · 技术社区  · 15 年前

    我有以下javascript下载请求:

    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();
    

    如果我将download.ashx替换为正常的aspx页面,则会出现警报。 所以我的问题是:是否有可能通过编程知道dowload.ashx何时返回响应? (使用FF3)

    提前感谢,, 格扎

    2 回复  |  直到 15 年前
        1
  •  0
  •   Justin Johnson    15 年前

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

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

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

        2
  •  0
  •   matpol    15 年前

    使用firebug-并跟踪console.log中发生的情况-它似乎根本没有进入警报。在ie中,您可以使用firebug lite。您可能还需要使用窗口的名称来定位它。