Björn Lindner: nach onload kein self.close

Hi,

ich habe folgenden Quellcode:

<body onLoad="document.location.href='einedatei.ppt'">
<script language="javascript">
   setTimeout("self.close()", 7000)
</script>

Leider tut nach einem fertig geladenen ppt das self.close nicht mehr.
solange er an der präsentation noch läd, funzt das, aber danach nicht mehr.
(Test durch höhersetzen des timeouts)
Wer kann mir helfen, das das self.close auch nach fertigem onload noch tut?

MFG Björn

  1. Hi,

    <body onLoad="document.location.href='einedatei.ppt'">

    Math.window?

    location ist ein Objekt von window, nicht von document. Obige Anweisung ergibt keinen Sinn, sofern Du unter document kein Objekt namens location erstellt hast.

    Leider tut nach einem fertig geladenen ppt das self.close nicht mehr.

    Natürlich nicht, weil Du durch das Ändern der aktuellen location sämtliche Timeouts gelöscht hast. Aber warum willst Du derartig irrwitzige Dinge machen? Ich vermute da einen Konzeptfehler...

    Cheatah

    1. Hi Cheatah,

      Math.window?

      okey, mein Fehler.

      Natürlich nicht, weil Du durch das Ändern der aktuellen location sämtliche Timeouts gelöscht hast. Aber warum willst Du derartig irrwitzige Dinge machen? Ich vermute da einen Konzeptfehler...

      Naja, ich will immernoch das selbe wie vor 2 Wochen. ;)
      Einfach die Powerpoint Präsentation ablaufen lassen, ohne das da vorher ein Klick gemacht wurde, damit die startet, aber nach einer gewissen Zeit, also eigentlich 1 h, soll sich das Fenster selbst schliessen, weil dann ein neues Fenster aufgeht.

      MFG Björn

      1. Hi,

        Math.window?
        okey, mein Fehler.

        nicht wirklich - ein (viel zu) weit verbreiteter Irrtum.

        Naja, ich will immernoch das selbe wie vor 2 Wochen. ;)

        Hm, mein Kurzzeitgedächtnis... sorry :-(

        Einfach die Powerpoint Präsentation ablaufen lassen, ohne das da vorher ein Klick gemacht wurde, damit die startet, aber nach einer gewissen Zeit, also eigentlich 1 h, soll sich das Fenster selbst schliessen, weil dann ein neues Fenster aufgeht.

        Mach 'nen <meta>-Refresh. Das Fenster schließt Du nicht, wenn _vielleicht_ ein anderes geöffnet wird, sondern _genau_ dann - letztlich schließt das neue Fenster also das alte.

        Cheatah

    2. Hi Cheatah

      Ich vermute da einen Konzeptfehler...

      Schöne Standardfloskel, von Didi? ;-)

      Bye Rolf

      PS: Ach ja Björn,

      Das gute an Cheatahs "Meta"-Tip ist, dass es ohne JS
      funktioniert, du must aber jede ppt-datei dann in einer eigenen HTML-Datei einbinden um <Meta> reinschreiben zu können!

      Wenn du darauf kein Bock hast und onehin JS einsetzen möchtest gibts 2 Alternativen

      1. Noframe: eine Htmlseite und du machst ne Diashow wie
      in Stefans Beispielsammlung allerdings benutzt du statt <img> entweder <embed> oder (AFAIK) <object> zum einbinden von ppt.

      2. Frames: du benutzt ein Set aus 2 Frames eins ist unsichtbar weil 0 Pixel breit und enthält dein ppt-show
      script, und das lädt in intervallen je ein neues .ppt in den andren Frame!

      1. Hi ihr beiden,

        funktioniert, du must aber jede ppt-datei dann in einer eigenen HTML-Datei einbinden um <Meta> reinschreiben zu können!

        Das hört sich ja nicht schlecht an, da es einmal eine einfache HTML Seite ist und beim anderen ist es die PPT.
        Also egal was ist, es gibt nur die 2 Seiten.
        Im Moment läuft es so, das eine Startseite sich aller 60 mins refresht und checkt wie spät es ist. Zwischen 8 und 9 Uhr soll die HTML Seite angezeigt werden und sonst die PPT.
        Dazu will ich eben das neu geöffnete Fenster auch nach einer Stunde selber schliessen lassen, damit ich dann nicht hundert Fenster auf habe. Mit dem refresh kann ich allerdings nicht mehr zeitgesteuert die Seiten laden. Wie soll das jetzt ungefähr funzen?

        1. Noframe: eine Htmlseite und du machst ne Diashow wie
          in Stefans Beispielsammlung allerdings benutzt du statt <img> entweder <embed> oder (AFAIK) <object> zum einbinden von ppt.

        <embed> hat er leider nicht darstellen können bei mir, fragt mich nicht warum, ich weiß es nicht, und bei <object> muss ich ja noch den link anklicken. Oder etwa nicht?

        1. Frames: du benutzt ein Set aus 2 Frames eins ist unsichtbar weil 0 Pixel breit und enthält dein ppt-show
          script, und das lädt in intervallen je ein neues .ppt in den andren Frame!

        Frame muss ich leider ausschliessen, da es in einem Redaktionssystem laufen muss und das macht echt trouble mit Frames.

        Ich würde mich freuen, wenn sich nochmal eine melden könnte.

        MFG Björn

        1. Hi,

          Das hört sich ja nicht schlecht an, da es einmal eine einfache HTML Seite ist und beim anderen ist es die PPT.
          Also egal was ist, es gibt nur die 2 Seiten.

          sehe ich das richtig, daß Du im Falle von PPT eigentlich gar keine HTML-Seite benötigst, sondern diese bisher immer nur als Mittel zum Zweck benutzt hast?

          Im Moment läuft es so, das eine Startseite sich aller 60 mins refresht und checkt wie spät es ist. Zwischen 8 und 9 Uhr soll die HTML Seite angezeigt werden und sonst die PPT.

          Höh? Moment... was ist eigentlich der Sinn des ganzen? Eine permanent laufende Präsentation?

          Also, Du könntest (vielleicht?) bereits über die Serverkonfiguration gehen. Beispielsweise wäre

          SetEnvIf Date " 08:" send_ppt=true

          ein Anfang. Ob Du dann gleich mittels mod_rewrite die PPT-Ressource sendest, oder per SSI den <meta>-Tag ins HTML-Dokument schreibst, ist eine andere Sache. Ich verstehe aber immer noch nicht, warum ein stündlicher automatischer Refresh nötig ist...?

          Cheatah

          1. Hi,

            sehe ich das richtig, daß Du im Falle von PPT eigentlich gar keine HTML-Seite benötigst, sondern diese bisher immer nur als Mittel zum Zweck benutzt hast?

            Jein, eigentlich brauche ich sicher kein HTML zwischen 9 und 8 Uhr, wenn die PPT läuft, ABER der Chef will es über das Redaktionssystem laufen lassen und da brauch ich dann doch wieder HTML. Ehrlich gesagt, sagt mir Deine Serversprache auch nix, weil ich mich noch nicht damit befasst habe.

            Höh? Moment... was ist eigentlich der Sinn des ganzen? Eine permanent laufende Präsentation?

            Ja, nur das eben zwischen 8 und 9 Uhr eine HTML Seite laufen muss, die etwas aus der Redaktionssystemdatenbank liest.

            Also, Du könntest (vielleicht?) bereits über die Serverkonfiguration gehen. Beispielsweise wäre

            SetEnvIf Date " 08:" send_ppt=true

            Wie gesagt, das sagt mir alles nix :(

            ein Anfang. Ob Du dann gleich mittels mod_rewrite die PPT-Ressource sendest, oder per SSI den <meta>-Tag ins HTML-Dokument schreibst, ist eine andere Sache. Ich verstehe aber immer noch nicht, warum ein stündlicher automatischer Refresh nötig ist...?

            Den refresh hab ich drin, um zu überprüfen, wie spät es ist.
            Sag bloß, dazu brauch ich keinen refresh?
            Dann würde ich mir natürlich die Haare ausraufen, weil es sicher eine einfache Lösung gibt!

            MFG Björn

            1. Hallo Björn,

              Ich weiß nicht was ein Redaktionssystem ist, kapier auch nicht warum Frames verboten sind.

              Du willst/mußt ppt direkt im Browser öffnen, korrekt.

              Da .ppt dateien kein JS enthalten dürfen brauchst du ein zwotes Fenster das die Präsentation steuert, wenns kein extra Frame ist dann mach doch ein kleines Popup
              100x100 breit wo der JS-Steuercode drinsteckt.

              Da kannste auch Fernbedienungsmäßige Buttons einbauen,
              also [Stop] [Vor] [Zurück] ...

              Was embed betrifft, haste die korrekte mimetype angegeben?

              Viele Grüße
              Ro *der grad aufgestanden ist und kein Kaffe findet*lf

              PS: Wie bekommst du die ppts eigentlich aus deiner Datenbank raus???

              1. Hallo Björn

                Ich muß mich Cheatah anschließend ich vermute du gehst konzeptionell total falsch ran!

                Viele Grüße
                Rolf

      2. Hi,

        Ich vermute da einen Konzeptfehler...
        Schöne Standardfloskel,

        nein, ein Hilfsangebot.

        Das gute an Cheatahs "Meta"-Tip ist, dass es ohne JS
        funktioniert, du must aber jede ppt-datei dann in einer eigenen HTML-Datei einbinden um <Meta> reinschreiben zu können!

        Wie bitte?

        Cheatah