Hans-Werner: Automatische Diaschau

Ich möchte gerne eine Diaschau ablaufen lassen und alle Bilddateien
eines Verzeichnisses anzeigen.
Das Problem:
Bei den mir bekannten Beispielen muß ich explizit die Dateinamen
angeben. Geht es nicht ohne Angabe des Dateinamens ?
Oder geht das nur in Java ?

Danke für jede Hilfe

Hans-Werner

  1. Moin!

    Ich möchte gerne eine Diaschau ablaufen lassen und alle Bilddateien
    eines Verzeichnisses anzeigen.
    Das Problem:
    Bei den mir bekannten Beispielen muß ich explizit die Dateinamen
    angeben. Geht es nicht ohne Angabe des Dateinamens ?
    Oder geht das nur in Java ?

    Weder, noch, vermute ich mal.

    In Javascript kannst du nicht auf Verzeichnisse zugreifen, weder auf lokale, noch auf die des Webservers.

    Und mit Java wird's ähnlich problematisch. Der Webserver rückt nämlich nicht automatisch den Verzeichnisinhalt heraus.

    Was du brauchst, ist die Unterstützung vom Server. Wenn du dort ein Skript laufen läßt, welches z.B. eine Javascript-Datei erzeugt, und dort die aktuellen Bilddateien reinschreibst, sparst du dir die Tipparbeit bei Änderungen im Verzeichnis.

    - Sven Rautenberg

  2. Hallo,

    Ich möchte gerne eine Diaschau ablaufen lassen und alle Bilddateien
    eines Verzeichnisses anzeigen.
    Das Problem:
    Bei den mir bekannten Beispielen muß ich explizit die Dateinamen
    angeben. Geht es nicht ohne Angabe des Dateinamens ?

    Du kannst ja mal versuchen, eine reale Diashow zu machen, ohne Dias in den Diaprojektor zu schieben ... wenn du das schaffst, würde ich dich für den Nobelpreis nominieren. ;-)
    Genauso ist es mit einer virtuellen Diashow, wenn du nicht angibst, welche Bilder überhaupt angezeigt werden sollen.

    Spaß beiseite: Das geht nur über eine Serverseitige Programmiersprache, die den Inhalt eines Verseichnisses ausliest (sofern sie dazu die Berechtigung hat) und dann für jedes gefundene Bild entsprechenden HTML-Quelltext erstellt.
    -> z.B. </selfhtml/cgiperl/index.htm>

    Oder geht das nur in Java ?

    Auch mit Java kannst du nicht (oder nur sehr umständlich und unsicher -> automatisch generierte Verzeichnislisten des Providers auslesen) ein Verzeichnis auslesen, da auch Java clientseitig ist, d.h. auf dem Rechner des Anwenders und nicht auf dem Rechner des Servers läuft.

    Robert

    http://www.designauswahl.here.de
    mit kostenlosem Webseiten-Generator ROBE.dit
    [more than a HTMLE.dit]

  3. Ich möchte gerne eine Diaschau ablaufen lassen und alle Bilddateien
    eines Verzeichnisses anzeigen.
    Das Problem:
    Bei den mir bekannten Beispielen muß ich explizit die Dateinamen
    angeben. Geht es nicht ohne Angabe des Dateinamens ?
    Oder geht das nur in Java ?

    Danke für jede Hilfe

    Hans-Werner

    Hallo Hans-Werner,

    das hängt vom Server ab, auf dem sich das Verzeichnis mit den Bildern befindet, und den Rechten, die vergeben wurden.
    Wenn Du beim Aufruf des Verzeichnisses, z.B.
    http://www.abc.de/images/ eine Liste mit Links zu den im Verzeichnis enthaltenen Dateien bekommst, kannst Du die Dateinamen per JavaScript auslesen und für deine Diashow verwenden. Lade ein Frameset mit rows=100%,*, wo du oben Deine Diashow laufen läßt und dem unteren Frame das Verzeichnis mit den Bildern zuweist, dann
    kannst Du die Dateinamen in einem Jevascript-Bereich im oberen Frame mit der Schleife
    fn=new Array();
    for (i in parent.frames[1].document.links)
      fn[i]=parent.frames[1].document.links[i];
    auslesen. Mach das in ein setTimeout rein, damit der untere Frame auch schon geladen ist, wenn du die Dateinamen auslesen willst.

    Gruß Lutz.

    1. hi,

      Wenn Du beim Aufruf des Verzeichnisses, z.B.
      http://www.abc.de/images/ eine Liste mit Links zu den im Verzeichnis enthaltenen Dateien bekommst, kannst Du die Dateinamen per JavaScript auslesen

      Das musst Du mir mal genauer erklaeren, ist mir neu, dass ich mit Javascript ein Verzeichniss auf dem Server auslesen kann.

      Mach das in ein setTimeout rein, damit der untere Frame auch schon geladen ist, wenn du die Dateinamen auslesen willst.

      hmm, wohl eher:
      if(top.Framename) tu_was();
      else setTimeout("try_again()",300);

      Anyway, wenn man so etwas automatisieren will, wird man um eine serverseitige Scriptsprach nicht herumkommen. Mit PHP kann man in der Tat ein Verzeichniss auslesen, die files in ein JS-Array schreiben, welches wiederrum die Show steuert.

      hth + Gruss  Joachim

      1. hi,

        Wenn Du beim Aufruf des Verzeichnisses, z.B.
        http://www.abc.de/images/ eine Liste mit Links zu den im Verzeichnis enthaltenen Dateien bekommst, kannst Du die Dateinamen per JavaScript auslesen

        Das musst Du mir mal genauer erklaeren, ist mir neu, dass ich mit Javascript ein Verzeichniss auf dem Server auslesen kann.

        Mach das in ein setTimeout rein, damit der untere Frame auch schon geladen ist, wenn du die Dateinamen auslesen willst.

        hmm, wohl eher:
        if(top.Framename) tu_was();
        else setTimeout("try_again()",300);

        Anyway, wenn man so etwas automatisieren will, wird man um eine serverseitige Scriptsprach nicht herumkommen. Mit PHP kann man in der Tat ein Verzeichniss auslesen, die files in ein JS-Array schreiben, welches wiederrum die Show steuert.

        hth + Gruss  Joachim

        Ok,
        ich hab da mal was vorbereitet:
        http://www.tu-chemnitz.de/~luta/drawlat/images/small/diashow.html
        Das wäre ja dann wohl der Beweis.
        Gruß, Lutz
        (Da wird sich ja jetzt meine Zugriffs-Statistik freuen ;-))

        1. hi,

          Ok,
          ich hab da mal was vorbereitet:
          http://www.tu-chemnitz.de/~luta/drawlat/images/small/diashow.html
          Das wäre ja dann wohl der Beweis.

          hm, jein, Du laedst ein vom Server generiertes html in den Frame und liest die document.links aus dem _html file_, was nicht ganz dasselbe ist, wie ein Verzeichniss auszulesen.

          Dennoch gebe ich zu, dass es eine ganz passable Loesung fuer denjenigen sein kann, der auf Serverseitiges verzichten muss.

          (Da wird sich ja jetzt meine Zugriffs-Statistik freuen ;-))

          Na das haste Dir auch verdient ;-)

          Gruesse  Joachim