header gestartetes fenster automatisch schliessen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • header gestartetes fenster automatisch schliessen

    ich habe ein Download script, dass ich mit
    Code:
    onClick="popup=window.open('download.php', 'PopupPage', 'height=350,width=520,scrollbars=yes,resizable=yes')"
    öffne.

    die datei sendet einen header zum erzwingen eines dateidownloads (mp3)

    dabei öffnet sich ja auch das fenster in dem nur die standard html sachen stehen.

    wie mache ich denn nun, dass sich das fenster auch wieder automatisch schliesst, nach dem ich den download gestartet habe, bzw das "speichern unter" fenster auf gepoppt ist?

    kann ich ein window.close() mit header schicken?
    oder wie macht man sowas?

    danke für die hilfe!
    fragen macht spass, denken nicht

  • #2
    Re: header gestartetes fenster automatisch schliessen

    wieso setzt du nicht einfach einen Link direkt ohne JavaScript auf das Skript?

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      und wenn du unbedingt das JS haben musst, arbeite nicht mit window.open() sondern window.location.href (?), aber das hat den gleichen effekt, wie bereits erwähnt wurde.

      also einfach auf das JS verzichten!
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        naja, ich denke das geht nicht anders:
        ich includiere alle meine seiten in index.php.
        wenn ich dann die download.php includiere, dann wurde doch schon ein header vom ersten teil der index gesendet. nicht wahr?
        ich hab das mal probiert, kriege aber die bekanntfehler meldung:
        "header already sent by ...."

        deshalb öffne ich ein seperates fenster.

        wie soll ich das anders machen, bei meiner programmierung?
        fragen macht spass, denken nicht

        Kommentar


        • #5
          Wie? Du sollst 'download.php' nicht includieren, sondern verlinken... so ganz altmodisch mit
          PHP-Code:
          <a href="dowload.php">Datei downloaden</a
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            ach so, ja, ich weiss...manchmal rennt man durch die wand obwohl die tür offen steht...

            aber war das wenigstens richtig, was ich vorher beschrieben hatte? mit dem schon gesendeten header?
            fragen macht spass, denken nicht

            Kommentar


            • #7
              Original geschrieben von kalleplom
              aber war das wenigstens richtig, was ich vorher beschrieben hatte? mit dem schon gesendeten header?
              ja

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                ok, bin jetzt durch die wand...

                aber trotzdem, auch mit <a href> öffnet sich doch ein fenster, das auch offen bleibt. kann ich das nicht verhindern?
                fragen macht spass, denken nicht

                Kommentar


                • #9
                  ja, ok ich hatte noch'n target="_blank" im link...
                  sorry für das generve
                  fragen macht spass, denken nicht

                  Kommentar


                  • #10
                    ...
                    Zuletzt geändert von kalleplom; 19.08.2005, 01:23.
                    fragen macht spass, denken nicht

                    Kommentar


                    • #11
                      header download lädt mp3 als text ins browserfenster

                      ich öffne download.php, die einen header sendet um einen mp3 download zu erzwingen.
                      das funktioniert lokal sehr gut, nur wenn ich es online, also auf dem webserver starte, lädt mir der browser die mp3-datei als text in das browserfenster...(ob IE oder FF)

                      was kann das denn sein?
                      fragen macht spass, denken nicht

                      Kommentar


                      • #12
                        der browser weiß net was er machen soll, erwartet vermutlich text/html

                        du musst ihm nen attachment-header mitschicken...
                        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                        var_dump(), print_r(), debug_backtrace und echo.
                        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                        Kommentar


                        • #13
                          ich habe das alles drin stehen:

                          PHP-Code:
                          <?php 
                          header
                          ("Expires: Mon, 26 Jul 2001 05:00:00 GMT"); 
                          header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); 
                          header("Cache-Control: no-store, no-cache, must-revalidate"); 
                          header("Cache-Control: post-check=0, pre-check=0"false); 
                          header("Pragma: no-cache"); 
                          header("Cache-control: private"); 
                          header("Content-Transfer-Encoding: binary"); 
                          header("Content-type: audio/mpeg;\r\n"); 
                          header("Content-Length: ".$filesize); 
                          header("Content-Disposition: attachment; filename=".$row_download["bnd_name"]." - ".$row_download["sng_title"].".mp3"); 
                          header("Content-Type: application/force-download"); 
                          header("Content-Type: application/download"); 
                          if (
                          preg_match('#Opera(/| )([0-9].[0-9]{1,2})#'getenv('HTTP_USER_AGENT'))or preg_match('#MSIE ([0-9].[0-9]{1,2})#'getenv('HTTP_USER_AGENT'))) { 
                          header("Content-Type: application/octetstream; name=".$file); 

                          else{ 
                          header("Content-Type: application/octet-stream; name=".$file); 

                          ?>

                          ist das zuviel?
                          und wie gesagt, "offline" funktioniert's ja...
                          fragen macht spass, denken nicht

                          Kommentar


                          • #14
                            entweder verwaltet der Web-Server den Content-Type in de mime.types Datei, oder die Datei die heruntergeladen wird muß den header mitschicken.

                            Aber ich denke das du den falschen Content-Type angibst. Da du den audio/mpeg; (übrigens ohne durch application/octet-stream ersetzt...

                            Ich hoffe das dir das weiter hilft.

                            Kommentar


                            • #15
                              also, die problematik liegt an den funktionen die vor header() aufgerufen wird.
                              wenn ich die header ganz an den anfang stelle, geht mehr zumindest.
                              der IE macht wohl noch probleme, hab's noch nicht so weit getestet.

                              kann ich denn nicht mal funktionen vor dem header() aufrufen, ausführen?

                              session_start(); hat jedenfalls keinen ersichtlichen einfluss darauf...
                              ich brauche aber ne funktion, um einen codierten string zu entschlüsseln.
                              und daraus die download-informationen zu generieren.

                              wie macht man das denn sonst?

                              ich will ja nicht immer die ganzen pfade und sonstigen "diskreten" imformationen als klartext mit senden...

                              hat jemand tipps?
                              fragen macht spass, denken nicht

                              Kommentar

                              Lädt...
                              X