Magges: Dateinamen erfassen

Hey!

Wie kann ich mit Hilfe von javascript den Dateinamen auslesen?

Konkret: Ich habe versch. Dateien des gleichen Typs, z.B. Bilder:
 1a.jpg, 2a.jpg, 3a.jpg,...

Jetzt möchte ich in einem Array auf die versch. Bilder zugreifen, allerdings ohne jedes einzelne seperat zu erfassen.

Ich bräuchte also einen Befehl vergleichbar mit getElementsByTagName, nur das halt nicht der Tag-Name ausgelesen wird, sondern der Dateiname ("1a").

Geht das??? Wenn ja, wie?

Gruß, Markus

  1. Hallo Magges.

    Geht das??? Wenn ja, wie?

    Mit JS nein, mit serverseitigen Techniken ja.

    Gruß, Ashura

    --

    Selfcode: sh:( fo:| ch:? rl:? br:^ n4:& ie:% mo:| va:) de:[ zu:| fl:( ss:{ ls:# js:|
    1. Mit JS nein, mit serverseitigen Techniken ja.

      Hmmm...schade... Und was ist, wenn ich mittels pathname die URI auslese und dann mit charAt(0) die Stellen der Zeichenkette auslese (also die "1" bei "1a.jpg"), diese dann in eine Schleife werfe und somit eine Tabelle erzeuge..?

      Könnte das funktionieren? Oder hat jemand Ergänzungen/Anregungen? ;-)

      1. Hallo Magges.

        Könnte das funktionieren? Oder hat jemand Ergänzungen/Anregungen? ;-)

        Wenn du den Bilder immer Namen in einem ähnlichen Formati gibst, wie z. B. 1.jpg, 2.jpg, ... kannst du durchaus mit Hilfe von document.write die aktuelle Variable um die restlichen Pfadangaben ergänzen, die Variable um 1 erhöhen und das ganze wiederholen -> Schleife.

        Aber bedenke, dass du auch einen Grenzwert definieren musst, da die Schleife sonst endlos läuft.

        Gruß, Ashura

        --

        Selfcode: sh:( fo:| ch:? rl:? br:^ n4:& ie:% mo:| va:) de:[ zu:| fl:( ss:{ ls:# js:|
        1. Hey!

          Aber bedenke, dass du auch einen Grenzwert definieren musst, da die Schleife sonst endlos läuft.

          Ja, schon klar, dachte auch, dass ich das berücksichtigt hätte, aber trotzdem lädt der Browser endlos...Fehlermeldung gibts keine und wenn ich mir mit alert Zwischenwerte ausgeben lasse, dann passen die immer!

          Quellcode:

          -----------------------------------

          <script type="text/javascript">
          <!--

          function Bild () {

          var s , z , i ;
          i = 1 ;

          document.write("<table>");

          for(z=1 ; z<=2 ; z++) {
            document.write("<tr>");
             for(s=1 ; s<=3 ; s++) {
              document.write("<td><a href="" + i + "b.jpg"><img src="" + i + "a.jpg"></a></td>");
              i = i + 1;
             }
            document.write("</tr><br>");
           }
          document.write("</table>");
          }

          //-->
          </script>

          </head>

          <body bgcolor="#000000" onLoad="Bild ()">

          ---------------------------------

          Erkennt hier jemand den Grund, warum a) nichts angezeigt wird (weder die Seite, noch ein Fehler) und b) die Seite endlos lädt?

          Danke schonmal!

          Markus

          1. Hallo Magges.

            function images(edge) {
            var i = 0;
            document.writeln("<table>");
            while(i <= edge) {
              var s = 1;
              document.writeln("<tr>");
              while(s < 4) {
               document.writeln("<td><img class='thumb' src='"+i+".jpg' /></a></td>");
               i++;
               s++;
               }
              document.writeln("</tr>");
              }
            document.writeln("</table>");
            }

            So hatte ich das mal gelöst. Du kannst ja noch ein wenig daran herumbasteln.

            Du musst dann nur der Variable "edge" einen Wert zuweisen, bei dem es aufhören soll. (Ich habe das Script etwas gekürzt, ich kann Fehler also nicht ausschließen.)

            Gruß, Ashura

            --

            Selfcode: sh:( fo:| ch:? rl:? br:^ n4:& ie:% mo:| va:) de:[ zu:| fl:( ss:{ ls:# js:|
            1. Danke erstmal für den Code, aber:

              Ich hab jetzt im Funktionsaufruf probeweise 4 eingegeben, also:

              <body bgcolor="#000000" onLoad="images(4)">

              Aber da geht trotzdem nix. Weder werden Bilder angezeigt, noch wird der bg schwarz. Hab auch den Link angepasst (Dateiname von Bild)...

              Gibt auch keine Fehlermeldung... *ratlosbin*

              modifizierte Funktion:

              ----------------------
              function images(edge) {
               var i = 0;
               document.writeln("<table>");
               while(i <= edge) {
                 var s = 1;
                 document.writeln("<tr>");
                 while(s < 4) {
                  document.writeln("<td><img src='"+i+"a.jpg' /></a></td>");
                  i++;
                  s++;
                  }
                 document.writeln("</tr>");
                 }
               document.writeln("</table>");
               }
              ----------------------

              Any ideas???

              Markus

              1. Hallo Magges.

                <body bgcolor="#000000" onLoad="images(4)">

                Und woher soll das Script nun wissen, wohin des die Bilder zu schreiben hat? <body> kann groß sein...

                Aber da geht trotzdem nix. Weder werden Bilder angezeigt, noch wird der bg schwarz. Hab auch den Link angepasst (Dateiname von Bild)...

                <body>

                <script type="text/javascript">images(4)</script>

                </body>

                Du musst schon die Stelle festlegen, wo die Bilder erscheinen sollen.

                Gruß, Ashura

                --

                Selfcode: sh:( fo:| ch:? rl:? br:^ n4:& ie:% mo:| va:) de:[ zu:| fl:( ss:{ ls:# js:|
                1. Hey!

                  Und woher soll das Script nun wissen, wohin des die Bilder zu schreiben hat? <body> kann groß sein...

                  Hmmm...gute Frage...ich dachte, das wüßte der..! ;-/

                  Du musst schon die Stelle festlegen, wo die Bilder erscheinen sollen.

                  Hab ich gemacht und VOILA: ES GEHT!!!

                  V I E L E N    D A N K ! ! ! ! ! ! ! !

                  Gruß, Markus

  2. var re=/(\w+a).jpg/gi;
      var alp = document.getElementsByTagName("img");
      for (var i=0; i < alp.length; i++)
      {
        var node = alp[i];
        var nid = node.src;
        re.lastIndex=0;
        var gto = re.exec(nid);
        if (gto != null)
        {
         ...
           gto[1] enthält den Namen der Form 1a, 2a
        }
      }

    Den Code-Schnipsel habe ich nicht ausprobiert,

    er liest von allen IMG-Tags die SRC und extrahiert die, wo der Source-Code einem bestimmten RegExp genügt