[js] window onload handler werkt niet

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Ik heb het volgende javascriptje in een pagina staan:
code:
1
2
3
4
5
6
7
8
9
10
function openXMLDownload() {
   var w = window.open("index.asp", "xmldownload");          
   w.onload = test;
   w.location.href = "xml_download.asp?selection=Kandidaten";
   window.location.href = "xml_download.asp?type=done&blabla";
}

function test(w) {
   alert("test");
}

Je zou zeggen dat het ding een melding "test" geeft als het window w ingeladen is. Maar dat is dus niet zo. Er gebeurt helemaal niets.

Wat ik wil, is eigenlijk heel simpel: open een nieuw window en laat dat window een pagina openen (een dynamische download via asp in dit geval). Als dat klaar is, moet het window gesloten worden.

Waarom kan het niet via een gewoon linkje:
Omdat het een dynamische download is, en de browser van te voren het verschil ziet tussen een download en een webpage. Je wordt dan dus op straat gezet met een leg scherm en een download-voortgang.

Wat heb ik al geprobeerd:
- Het laatste statement van openXMLDownload() weggecommentarieerd
- alert(w.onload); overal neergezet. Dit geeft het verwachte resultaat gewoon.
- w.onload = "test;";
- w.onload = "alert('test');";
- functie test(w) bovenaan zetten

En het heeft allevijf niet mogen baten. Nu ben ik dus teneinde raad.
Iemand?

[ Voor 0% gewijzigd door _Thanatos_ op 19-11-2002 15:49 . Reden: te breed ]

日本!🎌


  • whoami
  • Registratie: December 2000
  • Laatst online: 20:46
P&W -> W&G.
Check de P&W FAQ waarom.

https://fgheysels.github.io/


  • Willem
  • Registratie: Februari 2001
  • Laatst online: 01:40
Waarom niet even proberen met 'hard coderen' in de popup: body onload="javascript:alert('test');"

Motor (of auto) onderhoud bijhouden


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
zoals ik al zei, de popup is een download, daar staat dus geen html in.

日本!🎌


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:01

crisp

Devver

Pixelated

Of het downloaden klaar is zul je denk ik serverside moeten uitvissen; wel kan je checken of het window gesloten wordt:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var w = null;

function download() {

  w = window.open('download.asp?file=leukliedje.mp3', 'download', '');
  checkFinish();

}

function checkFinish() {

  try {
    if (w.window) setTimeout('checkFinish()', 100);
  } catch(e) {
    w = null;
    alert('window gesloten!');
  }

}

Intentionally left blank