¿Cómo desencadenar el evento onload al descargar un archivo en un iframe?

Supongamos que tenemos el siguiente archivo HTML:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test iframe download</title>
<script type="text/javascript">

var init = 0;

function download() {
  document.getElementById("dload_frame").src = "http://example.com/dload.py";
}

function alert() {
  if (init == 0) {
    init = 1;
  }
  else {
    document.getElementById("alert_span").innerHTML = "Got it!";
  }
}

</script>
</head>
<body>

  <span id="alert_span">Main content.</span><br/>
  <input type="button" value="Download" id="btn" onclick="download()" />
  <iframe id="dload_frame" src="http://404.com/404" onload="alert()"> </iframe>

</body>
</html>

Ahora, si la URL a la que se está reescribiendo src de iframe (en este caso - "http://example.com/dload.py") devuelve HTML, no hay problema: se desencadena el evento onload, se reemplazan los contenidos de span, todos están contentos.

Sin embargo, si el tipo de contenido del archivo devuelto por la URL se establece en algo que obliga al navegador a abrir el cuadro de diálogo para guardar el archivo, el evento de carga del iframe nunca se dispara.

¿Hay algún trabajo alrededor? El uso de iframes no es necesario, el comportamiento deseado es iniciar una devolución de llamada después de que el navegador comience a descargar el archivo suministrado.

Respuestas a la pregunta(5)

Su respuesta a la pregunta