Ergebnis 1 bis 4 von 4
  1. #1
    mikexmagic ist offline Mitglied
    registriert
    28-10-2010
    Beiträge
    26

    Fenster schließen wenn ein Download über ASHX-Handler getriggert wurde

    Hallo zusammen,

    kurze Version:
    Code:
    var dl=window.open("");
    soapfunction(bla,function(id){
       dl.location = 'handler.ashx?id='+id; //ein Download startet
       dl.close(); //Aber erst wenn der Download gestartet ist.
    }
    function soapfunction(parameter,callback) {
       //SOAP wird ausgeführt
       callback(soapAntwort);
    }
    Lange Version:
    (vorweg: auf die serverseitigen SOAP- und ASHX-Scripte und Methoden habe ich wenig Einfluss)

    in meinem Projekt greife ich auf ein ASHX-Script zu, welches mir eine Datei zum download schickt.
    Welche Datei ich benötige, übergebe ich per ID an das Script. Die ID liefert mir vorher eine SOAP-Anfrage...

    Vom Ablauf her:
    -> User fordert einen Report als PDF an
    -> neuer Tab mit Dummy-Page wird geöffnet (verhindert Popup-Blocker-Meldung)
    -> SOAP-Anfrage triggert Serverseitige PDF-Erstellung und Antwortet mit einer ID.
    -> Dummy-Tab wird mit .location('handler.ashx?id=....') aktualisiert
    -> Download der PDF startet

    Und jetzt, wenn der Download läuft, soll der Dummy-Tab geschlossen werden.
    Setze ich ein .close() ab, wird der Tab aber geschlossen BEVOR der Download startet.

    WIE fange ich ab, ob der Download gestartet ist?


    Ich hoffe es ist nicht zu kompliziert beschrieben

  2. #2
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.290

    AW: Fenster schließen wenn ein Download über ASHX-Handler getriggert wurde

    Zitat Zitat von mikexmagic Beitrag anzeigen
    WIE fange ich ab, ob der Download gestartet ist?
    Mit dem passenden Event. Ich würd's mal mit dem load-Event probieren.

  3. #3
    mikexmagic ist offline Mitglied
    registriert
    28-10-2010
    Beiträge
    26

    AW: Fenster schließen wenn ein Download über ASHX-Handler getriggert wurde

    Zitat Zitat von Dormilich Beitrag anzeigen
    Mit dem passenden Event. Ich würd's mal mit dem load-Event probieren.
    ich bin mir nicht sicher wie genau ich das abfange. Was ich bisher versuch habe, klappte alles nicht...

    Code:
    var dl=window.open("");
    
    //und jetzt??
    dl.addEventListener('load',function(){console.log('load')}) //hier bekomme ich keine Ausgabe
    dl.document.addEventLis....usw // genauso wenig
    
    $(dl.document).ready(function(){consol.log('ready')}) //das klappt. Zumindest in der Konsole.
    Mache ich statt dem console.log ein dl.close() wird meistens das Fenster geschlossen BEVOR der Download startet. Manchmal klappts... zu 80% jedoch nicht...

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.681

    AW: Fenster schließen wenn ein Download über ASHX-Handler getriggert wurde

    Warum machst du das nicht über ein (verstecktes) iFrame? Dann musst du kein Tab schließen.

Ähnliche Themen

  1. Fenster schließen, wenn neues geöffnet wird
    Von dondoener im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 04-06-2006, 19:03
  2. Antworten: 2
    Letzter Beitrag: 10-09-2003, 21:12
  3. Antworten: 4
    Letzter Beitrag: 03-01-2003, 11:32
  4. Antworten: 4
    Letzter Beitrag: 26-07-2002, 19:54
  5. Antworten: 3
    Letzter Beitrag: 05-05-2002, 18:40

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •