Jens Pielawa: ALT-Text von Grafik in Dokument schreiben

Hallo,

ich bin ein Anfänger, was Java-Script angeht und habe folgende Frage.
Mit einem kleinen Script wollte ich eine Mausklick-Fotoschau machen, rechts sind Thumbnails, wenn man auf die Miniatur klickt, wird das große Bild ausgetauscht. Aber:
im Array wird auch der ALT-Text mit angegeben, den hätte ich gerne wechselnd neben das Bild geschrieben. Wie lese ich das aus und kann es etwa mit document.write neben (oder unter) das Bild schreiben, wenn die Miniatur wechselnd geklickt wird?

Im HEAD:

<HEAD>
<script type="text/javascript">

function changePicture(number){
 var Picture = document.getElementById("picrotation");
 var pic = new Array();
 pic[0] = new Image(320,430)
 pic[0].src = "http://www.pielawa.de/gallery/jens-01.jpg";
 pic[0].alt = "Mit Frank";
 pic[1] = new Image(320,430)
 pic[1].src = "http://www.pielawa.de/gallery/jens-02.jpg";
 pic[1].alt = "Als Mädchen";
 pic[2] = new Image(320,430)
 pic[2].src = "http://www.pielawa.de/gallery/jens-03.jpg";
 pic[2].alt = "Mit Oma";
 pic[3] = new Image(320,430)
 pic[3].src = "http://www.pielawa.de/gallery/jens-04.jpg";
 pic[3].alt = "Als Knutscher";

Picture.src = pic[number].src;
 Picture.width = pic[number].width;
 Picture.heigth = pic[number].height;
 Picture.alt = pic[number].alt;
 return false;
 }

</script>
</HEAD>

Und das große Bild wird so angesprochen:

<!-- Fotogalerie Anfang -->
<p><img id="picrotation" src="http://www.pielawa.de/gallery/jens-01.jpg" width="320" height="430" alt="Als Baby"></p>

Die Miniaturen haben diesen Code:

<img border="0" src="gallery/nullbild.jpg" width="100" height="100" alt="verkleinert" onClick="return changePicture(0); return changeText(0);">
<img border="0" src="gallery/nullbild.jpg" width="100" height="100" alt="verkleinert" onClick="return changePicture(1); return changeText(1);">

usw.
Für mich ist das Script in Ordnung, weil ausbaufähig und leicht zu überschauen. Jetzt fehlt nur noch der Kick mit der Bildbeschreibung aus dem ALT-Array.

Vielen Dank für Tipps,
Jens

  1. Hell-O!

    im Array wird auch der ALT-Text mit angegeben, den hätte ich gerne wechselnd neben das Bild geschrieben.

    Dann kreiere mit Hilfe der zur Verfügung stehenden HTML-Elemente einen Bereich, wo der Text stehen soll, und schreibe dort den Alternativtext hinein, z.B. mit obj.innerHTML.

    Wie lese ich das aus

    Der Funktion wird die Bildnummer übergeben, damit hast du via pic[Nummer] Zugriff auf alle Eigenschaften des Bildes, auch auf den Alternativtext.

    und kann es etwa mit document.write neben (oder unter) das Bild schreiben, wenn die Miniatur wechselnd geklickt wird?

    Nein, nicht mit document.write, das zerhaut dir dein aktuelles Dokument.

    function changePicture(number){
    var Picture = document.getElementById("picrotation");

    Schau dir mal das images-Objekt an, das vereinfacht den Zugriff auf die Grafik.

    var pic = new Array();

    Du brauchst das Bild-Array nur einmal anzulegen, nicht bei jedem Funktionsaufruf erneut. Darüber hinaus täte es ein einfaches Objekt, da du sonst bei jedem Funktionsaufruf die Grafiken neu lädst, was zu Geschwindigkeitseinbußen führen wird.

    <img border="0" src="gallery/nullbild.jpg" width="100" height="100" alt="verkleinert" onClick="return changePicture(0); return changeText(0);">

    Warum rufst du zwei Funktionen auf, du kannst Bild- und Textwechsel in einer Funktion vereinen. Die returns sind hier m.E. nicht notwendig, es sei denn, dass es da etwas zu unterdrücken gibt (einen Hyperlink, Formularversand etc.).

    Siechfred

    --
    Hier könnte Ihre Werbung stehen.
    Dark Millennium || Die neue 1%-Regelung
    1. Hallo Siechfried:

      Du brauchst das Bild-Array nur einmal anzulegen, nicht bei jedem Funktionsaufruf erneut. Darüber hinaus täte es ein einfaches Objekt, da du sonst bei jedem Funktionsaufruf die Grafiken neu lädst, was zu Geschwindigkeitseinbußen führen wird.

      Da ich von javascript nicht sehr viel verstehe, waren das jetzt leicht böhmische Dörfer für mich. ich muss sagen, dass ich das Script aus einem anderen Forum übernommen habe. Mittlerweile wird ja auch über die Funktionalität diskutiert, und:

      <img border="0" src="gallery/nullbild.jpg" width="100" height="100" alt="verkleinert" onClick="return changePicture(0); return changeText(0);">

      Warum rufst du zwei Funktionen auf

      ...war nur ein verzweifelter Versuch von mir, den ich dummerweise stehengelassen habe.
      Das Problem bleibt aber:
      eine Thumbnail-Tabelle zeigt kleine Fotos, ein großes Foto soll bei OnClick gewechselt werden und ein Text soll ALT und an einem nahen Platz beim Foto mitgewechselt werden. Es gibt zwar unzählige Diaschauen, aber entweder alle ohne Text oder so kompliziert, dass man sie nicht anpassen kann. Ein goldener Mittelweg wäre nicht schlecht für einen Script-Banausen wie mich.

      Beste Grüße von
      Jens

      1. Hi,

        eine Thumbnail-Tabelle zeigt kleine Fotos, ein großes Foto soll bei OnClick gewechselt werden und ein Text soll ALT und an einem nahen Platz beim Foto mitgewechselt werden. Es gibt zwar unzählige Diaschauen, aber entweder alle ohne Text oder so kompliziert, dass man sie nicht anpassen kann.

        var i=0; liste=new Array();
         img[i++]='<img ...> Text';
         img[i++]='<img ...> Text';
        usw.

        Code & Text bis zum Abwinken eintragen

        function replaceImg(nr) {
          if(document.getElementById) {
           document.getElementById("IDdesElementsWoDerCodeStehenSoll").innerHTML=liste[nr];
         }
        }

        Und ggf. ein 2. Array text[] anlegen, daß dann auf gleiche Art den Text mit gleicher Nr. an anderer Stelle mit innerHTML reinschreibt.

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      2. Hell-O!

        Da ich von javascript nicht sehr viel verstehe, waren das jetzt leicht böhmische Dörfer für mich. ich muss sagen, dass ich das Script aus einem anderen Forum übernommen habe.

        Ja, ist mittlerweile geklärt. Für dich zum Verständnis:

        So wie der Code da steht, wird beim Eintreten des Ereignisses "Mausklick" (Eventhandler onclick) die Funktion "changePicture" ausgeführt. Diese startet damit, dass alle für die Grafiken relevanten Informationen (Quelle, Abmessungen, Alternativtext) in einer komplexen Variable (nämlich einem Array von Objekten) gespeichert wird. Jedesmal! Da sich die Informationen, die in dieser komplexen Variable gespeichert sind, nicht ändern, würde es genügen, diese ein einziges Mal anzulegen. Entweder du definierst den Array außerhalb der Funktion:

        <script type="text/javascript">

        var pic = new Array();  
        // usw.  
          
        function changePicture(nr) {  
          // ohne Arraydefinition  
        }
        

        </script>

        Oder in einer eigenen Funktion, die du nach erfolgtem Laden des Dokumentes (Eventhandler onload) aufrufst.

        Mein Hinweis mit dem Image-Objekt bezieht sich darauf, dass jedesmal, wenn du die Adresse der Grafik der Eigenschaft image.src zuweist, die Grafik komplett geladen wird (Stichwort "Vorladen von Grafiken"). Da ich erklärter Gegner diverser Vorladescripte bin, habe ich vorgeschlagen, statt eines Image-Objektes ein Standard-Objekt zu verwenden:

        var pic = new Array();  
        pic[0] = new Object();  
        pic[0].source = 'pfad/zur/grafik.png';  
        pic[0].breite = 100;  
        pic[0].hoehe = 150;  
        pic[0].alttext = 'Alternativtext';  
        pic[1] = new Object();
        

        Man könnte es auch über ein eigenes Objekt lösen, aber das würde vermutlich im Augenblick zu weit führen :-)

        eine Thumbnail-Tabelle zeigt kleine Fotos, ein großes Foto soll bei OnClick gewechselt werden und ein Text soll ALT und an einem nahen Platz beim Foto mitgewechselt werden.

        Dann platziere unter/neben/über der Grafik einen Textabsatz, auf den du mit Hilfe der getElement...-Methoden zugreifst und seinen Inhalt veränderst (für moderne Browser wäre nodeValue zu empfehlen, für ältere IEs innerText).

        Siechfred

        --
        Hier könnte Ihre Werbung stehen.
        Dark Millennium || Die neue 1%-Regelung
  2. Hallo Jens Pielawa,

    Für mich ist das Script in Ordnung, weil ausbaufähig und leicht zu überschauen.

    Vielen Dank fürs Lob!

    Mit freundlichem Gruß
    Micha

    --
    LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
    1. Hell-O!

      Vielen Dank fürs Lob!

      Oh, ein Crossposting, interessant. Wenn das Skript von dir ist, dann erkläre bitte noch, warum du das Bild-Array bei jedem Funktionsaufruf neu anlegst, warum du in diesem Array Image-Objekte ablegst und warum du getElementById statt document.images verwendest. Denn wenn schon vollständiger Code im Archiv zu finden ist, sollte er auch nachvollziehbar sein, oder?

      Siechfred

      --
      Hier könnte Ihre Werbung stehen.
      Dark Millennium || Die neue 1%-Regelung
      1. Hallo Siechfred,

        Vielen Dank fürs Lob!

        Oh, ein Crossposting, interessant.

        Nein, ich denke es sind zwei verschiedene Autoren.

        Wenn das Skript von dir ist, dann erkläre bitte noch, warum du das Bild-Array bei jedem Funktionsaufruf neu anlegst, warum du in diesem Array Image-Objekte ablegst und warum du getElementById statt document.images verwendest.

        Zunächst, das Script ist "auf die schnelle" entstanden und ich hatte erst etwas anderes im Sinn. Das Array sollte Idealerweise aus der Funktion genommen werden.

        Ich nutze das Image-Objekt, weil es dafür gedacht ist.

        Und ich sehe in der Liste an Browsern (die es unterstützen) keinen, den ich noch rückwirkend berücksichtigen müsste, weshalb ich getElement(s)By ohne Prüfung nutze.

        Ferner ist der Zugriff auf ein Element wohl schneller, als sich durch ein Array zu hangeln.

        Denn wenn schon vollständiger Code im Archiv zu finden ist, sollte er auch nachvollziehbar sein, oder?

        Das mag sein, ich habe ihn aber nicht hier reingeschrieben und eher durch Zufall hier (wieder) gefunden ;-)

        Mit freundlichem Gruß
        Micha

        --
        LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
        1. Ferner ist der Zugriff auf ein Element wohl schneller, als sich durch ein Array zu hangeln.

          Wie kommst du auf diese falschen Vermutung?

          Struppi.

          --
          Javascript ist toll (Perl auch!)
          1. Hallo Struppi,

            Wie kommst du auf diese falschen Vermutung?

            Weil der Zugriff auf eine Variable schneller ist als auf ein Array - dachte ich. Dem scheint wohl nicht so zu sein ;-)

            Mit freundlichem Gruß
            Micha

            --
            LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
            1. Wie kommst du auf diese falschen Vermutung?

              Weil der Zugriff auf eine Variable schneller ist als auf ein Array - dachte ich. Dem scheint wohl nicht so zu sein ;-)

              Doch ist er, aber document.getElementById() ist keine Variabel sondern eine komplexe Funktion.

              Struppi.

              --
              Javascript ist toll (Perl auch!)
              1. Hallo Struppi,

                Doch ist er, aber document.getElementById() ist keine Variabel sondern eine komplexe Funktion.

                Und wenn ich mir ein Array über document.images hole, ist das weniger komplex?

                Mit freundlichem Gruß
                Micha

                --
                LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
                1. Doch ist er, aber document.getElementById() ist keine Variabel sondern eine komplexe Funktion.
                  Und wenn ich mir ein Array über document.images hole, ist das weniger komplex?

                  Na, da wird es mal Zeit für einen kleinen Benchmark:

                    
                  window.onload = function()  
                  {  
                     var c = 1000;  
                     var t1, t2;  
                    
                     // Zugriff über doucment.images  
                     t1 = new Date();  
                     for(var i = 0; i < c; i++)  
                     {  
                         var o = document.images['img'];  
                         var tmp = o.id;  
                     }  
                     t2 = new Date();  
                     alert( t2 - t1);  
                     // Zugriff über doucment.getElementById  
                     t1 = new Date();  
                     for(var i = 0; i < c; i++)  
                     {  
                         var o = document.getElementById('img');  
                         var tmp = o.id;  
                     }  
                     t2 = new Date();  
                     alert( t2 - t1);  
                  }  
                  
                  
                    
                  <img src="test.jpg" id="img" name="img">  
                  
                  

                  und?

                  Struppi.

                  --
                  Javascript ist toll (Perl auch!)
                  1. Hallo Struppi.

                    Na, da wird es mal Zeit für einen kleinen Benchmark:
                    […]
                    und?

                    Interessant.

                    document.images | document.getElementById
                    Opera 9B2:              13 | 62
                    Firefox:                50 | 35
                    Konqueror:              30 | 80
                    MSIE 6:                 49 | 40

                    Firefox fällt deutlich auf …

                    Einen schönen Mittwoch noch.

                    Gruß, Ashura

                    --
                    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
                    [HTML Design Constraints: Logical Markup]
                    1. Na, da wird es mal Zeit für einen kleinen Benchmark:
                      […]
                      und?

                      Interessant.

                      document.images | document.getElementById
                      Opera 9B2:              13 | 62
                      Firefox:                50 | 35
                      Konqueror:              30 | 80
                      MSIE 6:                 49 | 40

                      Firefox fällt deutlich auf …

                      du hättest vielleicht c noch etwas erhöhen sollen (ich hab das hier auf einem P100 getestet! und da ist document.images 3 Mal schneller als document.all)

                      (ein ähnliches Phänomen hatte ich schon mal, als ich beweisen wollte, dass es schneller ist einmal var o = document.getElement... zu schreiben und dann auf o zu zugreifen, anstatt jedes document.getElement... aufzurufen, da war ebenfalls das zweite in manchen Browsern oft schneller, ich hab den Beweis dann sein gealassen ;-) )

                      Struppi.

                      --
                      Javascript ist toll (Perl auch!)
                      1. Hallo Struppi.

                        du hättest vielleicht c noch etwas erhöhen sollen

                        OK, ich habe nun zwei Nullen angehängt:

                        document.images | document.getElementById
                        Opera 9B2:            1448 | 1779
                        Firefox:              7948 | 4893
                        Konqueror:            3231 | 4908
                        MSIE 6:               4800 | 4284

                        Zu Firefox gesellt sich nun offenbar Konqueror, wenn auch andersherum.

                        Einen schönen Mittwoch noch.

                        Gruß, Ashura

                        --
                        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
                        [HTML Design Constraints: Logical Markup]
                        1. document.images | document.getElementById
                          Opera 9B2:            1448 | 1779
                          Firefox:              7948 | 4893
                          Konqueror:            3231 | 4908
                          MSIE 6:               4800 | 4284

                          Zu Firefox gesellt sich nun offenbar Konqueror, wenn auch andersherum.

                          Dass der Zugriff über die collection nicht, wie von mir erwartet, generell schneller ist (zumindest unter Linux) erstaunt mich. Aber wie ich vorhin schon erwähnte, ich vermute irgendeine Optimierung bei getElementById. Ich werd später mal versuchen den Benchmark darauf zu untersuchen.

                          Struppi.

                          --
                          Javascript ist toll (Perl auch!)
                          1. Hallo Struppi,

                            Dass der Zugriff über die collection nicht, wie von mir erwartet, generell schneller ist (zumindest unter Linux) erstaunt mich.

                            Kann ich unter WIN-XP auch bestätigen. Firefox 1.5 ist hier bei der DOM-Methode deutlich schneller (jedoch insgesamt langsamer). Der Abstand im Opera 9b2 ist gering und im IE6 vernachlässigbar.

                            bei c = 50000;

                            JS1.1 vs. JS1.5
                            1762  :  1412 (FF)
                             590  :   651 (Opera)
                             972  :   952 (IE)

                            Mit freundlichem Gruß
                            Micha

                            --
                            LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
                            1. Dass der Zugriff über die collection nicht, wie von mir erwartet, generell schneller ist (zumindest unter Linux) erstaunt mich.

                              Kann ich unter WIN-XP auch bestätigen. Firefox 1.5 ist hier bei der DOM-Methode deutlich schneller (jedoch insgesamt langsamer). Der Abstand im Opera 9b2 ist gering und im IE6 vernachlässigbar.

                              bei c = 50000;

                              JS1.1 vs. JS1.5
                              1762  :  1412 (FF)
                              590  :   651 (Opera)
                              972  :   952 (IE)

                              Jaja, hier treten wohl irgendwelche Optimierungsprozesse zutage. Ich hab mich auch ein bisschen von einem einem Artikel (ich find ihn gerade nicht) leiten lassen, in dem der Zugriff über document.images[name] empfohlen wird, doch ist dieser langsamer. Da er vielleicht gemappt wird, also umgeleitet, auf die DOM Methoden. Zumindest würde das die Langsamkeit erklären.

                                
                              window.onload = function()  
                              {  
                                 var c = 50000;  
                                 var t1, t2;  
                                
                                 // Zugriff über doucment.images  
                                 t1 = new Date();  
                                 for(var i = 0; i < c; i++)  
                                 {  
                                     var o = document['img'];  
                                     var tmp = o.id;  
                                 }  
                                 t2 = new Date();  
                                 alert( t2 - t1);  
                                 // Zugriff über doucment.getElementById  
                                 t1 = new Date();  
                                 for(var i = 0; i < c; i++)  
                                 {  
                                     var o = document.getElementById('img');  
                                     var tmp = o.id;  
                                 }  
                                 t2 = new Date();  
                                 alert( t2 - t1);  
                              }
                              

                              So sieht die Sache dann anders aus (im HTML Code sind darüber hinaus noch 6 andere Bilder gewesen):

                              JS1.1 vs. JS1.5
                              1188  :  1829 (FF)
                               360  :   515 (Opera 7)
                              1438  :  1828 (IE)

                              Wobei mir nicht ganz kalr ist woher die Unterschiede im IE bei dir und mir kommen. Hier mal der Link auf meine Testdatei http://jstruebig.de/web/javascript/test/test.html

                              Struppi.

                              --
                              Javascript ist toll (Perl auch!)
                              1. Hallo Struppi,

                                Jaja, hier treten wohl irgendwelche Optimierungsprozesse zutage. Ich hab mich auch ein bisschen von einem einem Artikel (ich find ihn gerade nicht) leiten lassen, in dem der Zugriff über document.images[name] empfohlen wird, doch ist dieser langsamer. Da er vielleicht gemappt wird, also umgeleitet, auf die DOM Methoden. Zumindest würde das die Langsamkeit erklären.

                                Ich kann Dir leider da wenig zu sagen. Bestätigt hat sich aber meine Vermutung, das es ein nicht minder-komplexer Vorgang ist. Ich denke man hat überall noch ein paar Schrauben, um ein Ergebnis hinzubiegen, wie man es möchte (s.u).

                                Mein Bsp mit 10 Bildern (ich habe kein Bild hochgeladen, da das Script onload (nach dem Beenden des Ladevorgangs des Dokumentes) startet.

                                Mein FF liefert für das (abgespeckte) Beispiel:
                                260 440

                                Mein IE

                                320 411

                                Opera

                                90  80

                                Ich will das gar nicht so überbewerten. Mein Resultat ist eher, das beide Methoden wohl unterschiedlich implementiert sind und das auch Browserübergreifend. Ferner habe ich bemerkt, das wenn man das Bildarray über den nummerischen Index abspricht, ändert sich mein Ergebnis zu "gunsten" Deiner These.

                                Letztlich denke ich, das es für (m)eine Anwendung keinen Unterschied macht, welches Verfahren ich vorziehen und bis auf den (schon eingestandenen) Denkfehler: das Array aus der Funktion zu nehmen, nichts an der simplen Funktion und dessen Zugriff ändern muss.

                                Wobei mir nicht ganz kalr ist woher die Unterschiede im IE bei dir und mir kommen.

                                Das kann ich Dir auch nicht sagen. Bei Deinem Bsp ist mein IE mit der DOM-Funktion langsamer (wie bei Dir); wobei ich mich frage, wie der "Gegener" hieß. Images ist es ja nun nicht mehr ;-)

                                Viele liebe Grüße aus dem sonnigen Neubrandenburg
                                Micha

                                --
                                LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
        2. Hi,

          Und ich sehe in der Liste an Browsern (die es unterstützen) keinen, den ich noch rückwirkend berücksichtigen müsste, weshalb ich getElement(s)By ohne Prüfung nutze.

          Es gibt nachweislich Browser in Benutzung, die images kennen und getElementById nicht (z.B. PDAs, die unter WIndows CE mit der IE4-Engine surfen). Du hast keinerlei Einfluß darauf, welchen Browser ein Surfer nutzt, bzw. gar nutzen *muß*. Du nimmst nicht nur keine Rücksicht auf ältere Browser, indem Du sie nicht unterstützt (was absolut ohne Verlust an Funktionalität nötig wäre - allein durch eine andere Schreibweise), sondern läßt diese Browser auch noch (mangels Abfrage) gezielt vor die Wand knallen?!

          Das ist nicht der letzte Kick, das ist der letzte Fuck! ;->

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          1. Hallo Cybaer,

            Es gibt nachweislich Browser in Benutzung, die images kennen und getElementById nicht (z.B. PDAs, die unter WIndows CE mit der IE4-Engine surfen).

            Ja, das ist mir bewusst und ich zeihe dann wohl die Grenze an einer anderen Stelle als Du. Der IE4 ist bspw. kein Browser, den ich noch Berücksichtigen muss. Setzt Du JavaScript Code noch in HTML-Kommentare?

            Letztlich ist das eine Endlosdiskussion die zu keinem Ergebnis führen wird.

            Du hattest den Hinweis auf ein mögliches Problem nun gegeben und auch, wie man es anders machen könnte - was Du wohl auch tun wirst. Ich habe es zur Kenntnis genommen...

            Anderes (aber durchaus ähnliches) Thema, ich compiliere meine kleinen JAVA-Programme mit der aktuellen J2SDK und ich weiß, das alle, die nicht 1.5.xx installiert haben, leer ausgehen.

            Das ist nicht der letzte Kick, das ist der letzte Fuck! ;->

            Ja, das wird es sein...

            Mit freundlichem Gruß
            Micha

            --
            LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
            1. Hi,

              Der IE4 ist bspw. kein Browser, den ich noch Berücksichtigen muss.

              Mache ich auch nicht. "Berücksichtigen" ist für mich: Extra-Code zusätzlich zum Code für moderne Browser. IE4/NN4 mit ihren proprietären DOMs berücksichtige ich nicht mehr.

              Aber
               1. läuft das nicht unter dieser Rubrik, da kein zusätzlicher Code erforderlich ist (nur anderer)
               2. Ist das kein Grund, mit Fehlern um sich zu schmeißen. JS bietet bewußt die Möglichkeit, so etwas ohne Fehlermeldungen abzuhandeln. Warum haben die JS-Entwickler das wohl gemacht? Damit man es nicht benutzt vermutlich ... =;-o

              Setzt Du JavaScript Code noch in HTML-Kommentare?

              Klar - spricht ja auch nichts dagegen. Die 8 Tastendrücke würden mich selbst dann nicht umbringen, wenn ich die Zeichen immer manuell einfügen würde, was ich ohnehin nicht mache ...

              Letztlich ist das eine Endlosdiskussion die zu keinem Ergebnis führen wird.

              Nein (sowohl als auch). Programmiere *sauber* und *alle* haben auf Dauer etwas davon.

              Zu keinem Ergebnis führt das nur, wenn man mit "Scheißegal-Mentalität" durchs EDV-Leben zieht (was es ja reichlich gibt). Und das hier liest ja ggf. nicht nur Du, sondern auch andere Programmierer - ggf. viel später via Archivsuche.

              Und die Hoffnung stirbt bekanntlich zuletzt ...

              Anderes (aber durchaus ähnliches) Thema, ich compiliere meine kleinen JAVA-Programme mit der aktuellen J2SDK und ich weiß, das alle, die nicht 1.5.xx installiert haben, leer ausgehen.

              Und? Was würdest Du als sinnvoll erachten: Usern < 1.5.xx schmiert der Browser einfach mit 'ner dappischen Fehlermeldung ab, oder es kommt ein freundlicher Hinweis: "Für dieses Applet brauchen sie JavaSDK 1.5 oder neuer!"

              Ich sehe *keinen* Grund, den (unwissenden) User mit (leicht) vermeidbaren Fehlern im Regen stehen zu lassen - übrigens ganz unabhängig von der verwendeten Programmiersprache ...

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
              1. Hallo Cybaer,

                1. Ist das kein Grund, mit Fehlern um sich zu schmeißen.

                Mein Script ist, da kein Sytaxfehler, Fehlerfrei also lass bitte solche Behauptungen.

                JS bietet bewußt die Möglichkeit, so etwas ohne Fehlermeldungen abzuhandeln.

                Durchaus und ich nutze es bei mir relevat erscheinenden Funktionen auch.

                Setzt Du JavaScript Code noch in HTML-Kommentare?
                Klar - spricht ja auch nichts dagegen.

                Ich eben nicht und das ist es, was es zu einer endlosen Diskussion werden lässt - Kleinkariertheit (sicher auch von mir ;-)).

                Nein (sowohl als auch). Programmiere *sauber* und *alle* haben auf Dauer etwas davon.

                Auf dauer (=lange Sicht) wird der Anteil der IE4 User wohl weiter gegen Null streben und es keinen Sinn machen, sich vor Fortschritt zu verstecken...

                Und das hier liest ja ggf. nicht nur Du, sondern auch andere Programmierer - ggf. viel später via Archivsuche.

                Wenn dies "viel später" im Archiv passiert, dann ist diese "aufgepuschte Problematik" erst recht kein Thema mehr.

                Und die Hoffnung stirbt bekanntlich zuletzt ...

                dito

                Und? Was würdest Du als sinnvoll erachten: Usern < 1.5.xx schmiert der Browser einfach mit 'ner dappischen Fehlermeldung ab, oder es kommt ein freundlicher Hinweis: "Für dieses Applet brauchen sie JavaSDK 1.5 oder neuer!"

                Ich mache keine Applets sondern kleiner Programme oder eher Tools und der User, der keine (halbwegs) aktuelle JRE installiert hat, wird eine Fehlermeldung bekommen, die nicht von mir kommt (sonst müsste das Programm ja laufen um eine anzuzeigen)...

                Ich sehe *keinen* Grund, den (unwissenden) User mit (leicht) vermeidbaren Fehlern im Regen stehen zu lassen

                Die Nutzung des IE4 ist ein leicht vermeidbarer Fehler.

                Mit freundlichem Gruß
                Mi*DerLetzteFuck*ael

                --
                LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
                1. Hi,

                  1. Ist das kein Grund, mit Fehlern um sich zu schmeißen.
                    Mein Script ist, da kein Sytaxfehler, Fehlerfrei also lass bitte solche Behauptungen.

                  Dein Script provoziert Fehler bei Surfern, die nicht die Browserversion nutzen können oder wollen, die Du voraussetzt. Es ist *Grundparadigma* im WWW, daß dies zu vermeiden ist - alle dafür notwendigen Möglichkeiten existieren. Wenn Du das nicht machst, dann mußt Du dich auch nicht beschweren, wenn jemand sagt, daß dein Script ggf. mit Fehlern um sich schmeißt ... =:-)

                  Ich eben nicht und das ist es, was es zu einer endlosen Diskussion werden lässt - Kleinkariertheit (sicher auch von mir ;-)).

                  Wenn Rücksichtnahme kleinkariert ist, dann bin ich es aber wirklich gerne. ;)

                  Ich mache keine Applets sondern kleiner Programme oder eher Tools und der User, der keine (halbwegs) aktuelle JRE installiert hat, wird eine Fehlermeldung bekommen, die nicht von mir kommt (sonst müsste das Programm ja laufen um eine anzuzeigen)...

                  Tja, und JS gibt eben nur ein nichtssagende Fehlermeldung, und der User weiß nicht, woran er ist.

                  Aber egal - fällt ja auf den Autor zurück ...

                  Ich sehe *keinen* Grund, den (unwissenden) User mit (leicht) vermeidbaren Fehlern im Regen stehen zu lassen
                  Die Nutzung des IE4 ist ein leicht vermeidbarer Fehler.

                  Nicht jeder will oder *kann* seine Software nach Belieben updaten - es nutzt auch nicht jeder einen PC zum Surfen, wo dies noch vergleichsweise einfach geht - solange dieHardware leistungsmäßig mitmacht.

                  Entsprechende Diskussionsthreads wo dies näher erklärt wird, findest Du zuhauf im Archiv.

                  Und was den "Zahn der Zeit" angeht: Irgendwann ist jede Technik so neu, daß sie wirklich viele Surfer sie noch nicht nutzen können (CANVAS ist mom. z.B. so ein Fall). Da gilt analog genau das gleiche wie für getElement...

                  Gruß, Cybaer

                  --
                  Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                  1. Hallo Cybaer,

                    Dein Script provoziert Fehler bei Surfern, die nicht die Browserversion nutzen können oder wollen, die Du voraussetzt.

                    Wenn Du das so ausdrückst, hört es sich so an, als würde ich nur einen Browser bedienen. Dem ist nicht so, ich denke der Prozentsatz ist zweistelligen ;-)

                    Mein Script wäre wohl aussagelos im Archiv verschwunden, wenn ich gestern hier meine Finger still gehalten hätte und mich anderen Dingen gewidmet hätte aber das Treffen auf einen alten Bekannten leiß mich verleiten "Hallo" zu sagen...

                    Das Script provioziert keine Fehler, Bäume verleiten am Starßenrand auch nicht dazu zum gegenfahren.

                    Es ist *Grundparadigma* im WWW, daß dies zu vermeiden ist - alle dafür notwendigen Möglichkeiten existieren.

                    Es ist eher eine Grundsatzdiskussion (zwischen Dir und mir), wie lange man Rücksicht auf etwas nehmen muss (oder gar "verpflichtet ist" dies zu tun, wo), zumindest sehe ich das so und um so mehr Du mit mir darüber redest, um so mehr stell ich mir die rhetorische Frage, "Wie der Mensch jemals den aufrechten Gang erlernen konnte, wenn er sich selbst am Boden mit Steinen fesselt(e)"...

                    Wenn Du das nicht machst, dann mußt Du dich auch nicht beschweren, wenn jemand sagt, daß dein Script ggf. mit Fehlern um sich schmeißt ... =:-)

                    Och, solange diese Aussage haltlos bleibt, kann ich damit leben und :-D

                    Tja, und JS gibt eben nur ein nichtssagende Fehlermeldung, und der User weiß nicht, woran er ist.

                    Ich denke wie gesagt nicht, das diese bei einer Java-Anwendung "aussagekräftiger" ist, ganz zu schweigen davon, ob ein Laie ggf. in der Lage ist, es zu verstehen.

                    Aber egal - fällt ja auf den Autor zurück ...

                    ...dem letzten Fuck, ich kenne Deine schlagfertigen Argumente bereits.

                    Nicht jeder will oder *kann* seine Software nach Belieben updaten - es nutzt auch nicht jeder einen PC zum Surfen, wo dies noch vergleichsweise einfach geht - solange die Hardware leistungsmäßig mitmacht.

                    Dann darf man auch nicht erwarten, das mit veralteter Technik *alles* so geht, als wäre es frisch aus der Presse.

                    Und einer, der noch einen IE4 nutzt, meine nichtssagenden Serverlogs bescheinigen mir 0 (in Wort Null) Besucher mit diesem Browser (das wird sich wahrscheinlich gleich schlagartig ändern *fg*), kann mir nicht erzählen, das er keine Möglichkeit hat(te), es zu ändern und unbewusst damit unterwegs ist.

                    Und was den "Zahn der Zeit" angeht: Irgendwann ist jede Technik so neu, daß sie wirklich viele Surfer sie noch nicht nutzen können (CANVAS ist mom. z.B. so ein Fall). Da gilt analog genau das gleiche wie für getElement...

                    Durchaus, aber ich tippe 1000000/1, das dieser Thread nicht zitiert und vorgekramt wird. Des Weiteren nutze ich keine _so_ neue Technik sondern eine, die *ich* zum normalen Standard zähle. Besser als ein nicht standardkonformes innerHTML, mit all seinen Nachteilen, scheint mein Vorschlag wohl zu sein, sonst hätten sich ganz andere Leute wohl mit eingemischt...

                    Liebe Grüße,
                    Micha

                    --
                    LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
                    1. Hi,

                      Wenn Du das so ausdrückst, hört es sich so an, als würde ich nur einen Browser bedienen. Dem ist nicht so, ich denke der Prozentsatz ist zweistelligen ;-)

                      Ich drücke es so aus, weil es *einzig* in der Verantwortung des *Programmierers liegt, fehlertolerante Software zu schreiben. Keineswegs aber liegt *irgendwas* in der Verantwortung eines Anwenders, der eine Software (auf die er oft keinerlei Einfluß hat, in dem dafür vorgesehenen Medium nutzt, welches zudem *explizit* für Informationsaustausch über Hard- und Softwareschranken hinweg geschaffen wurde! :-)

                      Mein Script wäre wohl aussagelos im Archiv verschwunden, wenn ich gestern hier meine Finger still gehalten hätte

                      Nein - daß das Script unsauber programmiert ist, wäre hier auch sonst zur Sprache gekommen! Dieses Forum steht, wie SELFHTML selbst, in der oben erwähnten Tradition, Surfern fehlerfreien Informationsaustausch zu ermöglichen, indem man die Coder entsprechend sensibilisiert.

                      Das einzig besondere an diesem Fall ist, daß sich hier der Autor gemeldet hat, und die (berechtigte) Kritik somit prompt einen direkten Adressaten hatte und, aufgrund des Widerspruchs, halt ein wenig "ausuferte". ;-)

                      Das Script provioziert keine Fehler, Bäume verleiten am Starßenrand auch nicht dazu zum gegenfahren.

                      Vergleiche es lieber mit einer niedrigen Brücke, unter der nicht jedes Fahrzeug durchpaßt. Im Verkehr wäre hier vor der Brücke ein Verbotsschild "Nicht für Fahrzeuge über x Meter". Ich sage *nicht*, daß man keine niedrigen Brücken bauen darf (mache ich selbst und ziemlich auschweifend ;-)), aber wenn man das macht, dann sollte man schon verhindern, daß Autofahrer, die mit so etwas überhaupt nicht rechnen müssen, nicht stupide dagegenknallen! %-)

                      Wo zum Henker siehst Du ein Problem, verdammt nochmal schlicht ein Schild aufzustellen?

                      Um auf den Topic zurückzukommen: "getElement(s)By verwerflich?"

                      Antwort: *Nein!*

                      Gegenfrage: Wo ist das Problem, getElement-Calls (bzw. generell den Aufruf von Methoden/Eigenschaften, deren Existenz nicht sicher ist) erst zu machen, wenn deren Existenz gesichert ist? *Einmalig* am Anfang - dann nie wieder.

                      Und um User nicht zu verwirren, sollte man die Funktionalität auch nicht anbieten, wenn sie gar nicht möglich ist (z.B. ein Button "Klick hier" ist bestenfalls sinnfrei, wenn der User dann klickt, und nichts bekommt, außer einer Fehlermeldung, die ihm nichts sagt, auf keinen Fall aber das macht, was die Seite ihm versprochen hat)

                      Und wenn man die Deluxe-Version machen möchte, dann kann man dem User alternativ noch sagen: Lieber User, wenn den Browser neuer wäre, dann könntest Du hier eine tolle Funktion nutzen, die XYZ macht - leider geht das mit diesem Browser nicht, Danke für dein Verständnis.

                      Es ist eher eine Grundsatzdiskussion (zwischen Dir und mir), wie lange man Rücksicht auf etwas nehmen muss (oder gar "verpflichtet ist" dies zu tun, wo),

                      Im Web ist man zu gar nichts "verpflichtet". Wir sind *hier* aber nicht "irgendwo" im Web, sondern bei SELFHTML! Und hier gilt: Vermeidbare Fehler benennen, damit sie korrigiert werden können.

                      um so mehr Du mit mir darüber redest, um so mehr stell ich mir die rhetorische Frage, "Wie der Mensch jemals den aufrechten Gang erlernen konnte, wenn er sich selbst am Boden mit Steinen fesselt(e)"...

                      Oh je, ich nutze DHTML ggf. bis zum Anschlag! S. z.B. Coding: Durchsichtige Elemente oder Coding: CSS-Regeln auslesen & ändern: beide Funktionen laufen selbst *nicht* auf allen "modernen" Browsern - Opera ist jeweils etwas rückständig. Trotzdem provozieren meine Scripts keine Fehler auf alten Browsern und verhindern dadurch, daß die restlichen, ggf. funktionierenden Scripts mit in den Abgrund gerissen werden - auch nicht auf Operas. Trotzdem kann man sie sinnvoll einbinden. Den betreffenden Surfern fehlt dann halt eine Funktionalität oder ein Effekt - darauf kann man ihn ggf. sogar hinweisen (vergleiche die cssRule-Testseiten auf Mozilla und auf Opera!). Du siehst einen Widerspruch, wo keiner existiert!

                      Aber egal - fällt ja auf den Autor zurück ...
                      ...dem letzten Fuck, ich kenne Deine schlagfertigen Argumente bereits.

                      Humor ist, wenn man trotzdem lacht! =:-))

                      Dann darf man auch nicht erwarten, das mit veralteter Technik *alles* so geht, als wäre es frisch aus der Presse.

                      S.o. - das muß auch keiner!

                      Und einer, der noch einen IE4 nutzt, meine nichtssagenden Serverlogs bescheinigen mir 0 (in Wort Null) Besucher mit diesem Browser (das wird sich wahrscheinlich gleich schlagartig ändern *fg*), kann mir nicht erzählen, das er keine Möglichkeit hat(te), es zu ändern und unbewusst damit unterwegs ist.

                      Ich habe im Laufe menes Webdesigner-Lebens eine Menge Leute getroffen, denen es so ging. Ich kann dir versichern, ich weiß wovon ich rede!

                      Und was deine Serverlogs angeht: Die sind irrelevant. Andere haben andere Serverlogs. Und was *Du* auf *deinem* Server machst, ist einzig *deine* Angelegenheit. Wenn Du aber Code in der Öffentlichkeit verteilst, bist Du *Multiplikator*! Du hast keinen Einfluß mehr darauf, auf wessen Server mit welchen Surfern auch immer dieser Code landet! Daraus ergibt sich: Du hast eine höhere Verantwortung. Der solltest Du gerecht werden (und sei es durch eine Warnung an weniger erfahrene Programmierer, daß sie sich nicht blindings ein Problem aufhalsen, welches vielleicht seinem Chef sauer aufstößt, weil er beim Surfen auf der Firmensite mit seinem PDA & IE 4 plötzlich statt der stolz angekündigten neuen Funktion nur einen Fehler bekommt.

                      Denn erfahrenere Programmierer die sich dieses Problems ohnehin bewußt sind, werden dein Script sicher nicht nutzen - sie würden, da es schneller selbst programmiert ist, noch nicht mal danach suchen.

                      Durchaus, aber ich tippe 1000000/1, das dieser Thread nicht zitiert und vorgekramt wird.

                      Also ich finde in meinen Logs so *einige* Besucher, die von Archivthreads auf meine Site gekommen sind ... 8-)

                      Des Weiteren nutze ich keine _so_ neue Technik sondern eine, die *ich* zum normalen Standard zähle.

                      Da stimme ich dir volkommen zu!

                      Besser als ein nicht standardkonformes innerHTML, mit all seinen Nachteilen,

                      Unfug! Als innerHTML Verbreitung fand, habe ich sofort in mein Framework eine Abfrage eingebaut, ob der jeweilige Browser dies auch unterstützt, um alternativ mit standardisierten DOM-Aufrufen arbeiten zu können.

                      Mittlerweile (gibt's ja schon 'ne Weile ;)) hat sich herausgestellt, daß es a) *keinen* Browser gibt, der W3C-DOM unterstützt, innerHTML jedoch nicht (in der Tat unterstützen mehr Browser innerHTML als das W3C-DOM), b) diese MS-Idee als so gut befunden wurde, daß sie alle unterstützen - und alle auch benutzen. Das macht innerHTML zu einem De-Facto-Standard, um den auch zukünftige Browserentwickler nicht herum kommen (vergleichbar mit der MS-Idee XMLHttpRequest(), ohne die Ajax & "Web 2.0" auch nicht denkbar wäre - ebenfalls am W3C vorbei, ja, in Konkurrenz zu den Standards des W3C).

                      Ich will aber gerne einräumen, daß es nicht schaden kann, explizit zu prüfen, ob innerHTML geht oder nicht. Aus historischen Gründen (Überprüfung ist halt vorhanden) mach ich es, auch wenn es keinen Fall gibt, wo dies notwendig wäre ...

                      Und: Eine entsprechende Diskussion über die Verwendung von innerHTML hat es hier bereits gegeben. Auch wenn sie dir entgangen ist, man kann sie bestimmt noch im Archiv finden ... :)

                      Faktisch schließt die indirekte Überprüfung der innerHTML-Funktionalität via getElement... ja sogar Browser aus, die es trotzdem nutzen könnten (IE 4 >:->), wenn man sich nur die Mühe machen würde, einen Extra-Zweig für sie zu coden. Aber diese Mühe (OK, hier wäre es ein "Müchen" ;)) mache ich mir i.d.R. nicht mehr. Ich unterstütze i.d.R. die alten Browser nicht mehr - ich baue (mittlerweile) keine "Hebebrücken" für "Altnutzer" (mehr), lasse die "Altnutzer" aber eben auch nicht "an die Brücke knallen" - egal ob der "Altnutzer" den IE 4 oder den Opera 9 benutzt. ;)

                      scheint mein Vorschlag wohl zu sein, sonst hätten sich ganz andere Leute wohl mit eingemischt...

                      ? Dein Code ist doch für die Anforderung gar nicht geeignet?! Deine Funktion kann Bilder und deren Attribute austauschen. Das war die Minimalforderung. Dafür ist, auch wenn Du es verwendest, getElement... doch gar nicht notwendig. Gefragt war optimalerweise ein zusätzliches Austauschen auch von beliebigem Text. *Dafür* sind modernere DOM-Methoden zwingend erforderlich - aber davon steht ja nichts in dem Script ...

                      ... und darauf wies ich von Anfang an hin ...

                      Gruß, Cybaer

                      --
                      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                      1. Hallo Cybaer,

                        um das mal zum Abschluß zu bringen, da genau das eingetroffen ist, was ich befürchtet habe, mach ichs kurz.

                        Humor ist, wenn man trotzdem lacht! =:-))

                        ;-)

                        Und was deine Serverlogs angeht: Die sind irrelevant.

                        Ich weiß, ich schrieb auch extra, um den Vorzubeugen: "meine nichtssagenden Serverlogs". War daran was unverständlich?

                        Wenn Du aber Code in der Öffentlichkeit verteilst

                        Das war ich in dem Fall nicht. Ich wollte nur einem eine Grundlage zur Lösung seines Problems bereitstellen, die dann von einem anderen nochmals ohne Prüfung aufgegriffen wurde.
                        Ich möchte mich aber nicht frei sprechen von der "Veröffentlichung" und auch darauf hinweisen, das ich bereits am Anfang auf die Art der Entstehung hingewiesen habe. Du hattest es gelesen?

                        Denn erfahrenere Programmierer [...], werden dein Script sicher nicht nutzen - sie würden, da es schneller selbst programmiert ist, noch nicht mal danach suchen.

                        Den Anspruch habe ich wo erhoben, ich kann es gerade nicht finden?

                        *Dafür* sind modernere DOM-Methoden zwingend erforderlich - aber davon steht ja nichts in dem Script ...
                        ... und darauf wies ich von Anfang an hin ...

                        ...und ich dachte gerade, das es zu moderne Methoden sind, die ich angeblich nutze.

                        Mit freundlichem Gruß
                        Micha

                        --
                        LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
                        1. Hi,

                          Und was deine Serverlogs angeht: Die sind irrelevant.
                          Ich weiß, ich schrieb auch extra, um den Vorzubeugen: "meine nichtssagenden Serverlogs". War daran was unverständlich?

                          Ich hatte es eher ironisch aufgefaßt.

                          Und nein: Ich bringe sowas ggf. auch knochentrocken ohne Smiley (bzw. mit absolut ernster Miene im RL :)).

                          Du hattest es gelesen?

                          Ja - insbes. das "... weshalb ich getElement(s)By ohne Prüfung nutze". :)

                          Den Anspruch habe ich wo erhoben, ich kann es gerade nicht finden?

                          Das war eine schlichte Feststellung.

                          ...und ich dachte gerade, das es zu moderne Methoden sind, die ich angeblich nutze.

                          Das war dann ein Mißverständnis.

                          Nochmal abschließend meine Meinung in Kurzform:

                          • ich finde es sinnvoll, wenn man von 2 zur Verfügung stehenden Lösungsmöglichkeiten mit identischem Leistungsumfang und Programmieraufwand, die Möglichkeit nimmt, die mehr User nutzen können
                          • bräuchte ein Script gleichzeitig mehrere Lösungswege für versch. Browser, dann finde ich es i.A. nicht mehr nötig, Alt-Browser noch zu unterstützen (Ausnahmen bestätigen natürlich die Regel und dann Hut ab vor dem Programmierer)
                          • Programme sollten fehlertolerant sein - sowohl im Hinblick auf die dem Autor unbekannte Laufumgebung, als auch was die Anwendernutzung angeht.

                          Gruß, Cybaer

                          --
                          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                          1. Hallo Cybaer,

                            Und nein: Ich bringe sowas ggf. auch knochentrocken ohne Smiley (bzw. mit absolut ernster Miene im RL :)).

                            Ich habe das lachen nicht verlernt ;-)

                            Nochmal abschließend meine Meinung in Kurzform:

                            • ich finde es sinnvoll, wenn man von 2 zur Verfügung stehenden Lösungsmöglichkeiten mit identischem Leistungsumfang und Programmieraufwand, die Möglichkeit nimmt, die mehr User nutzen können
                            • bräuchte ein Script gleichzeitig mehrere Lösungswege für versch. Browser, dann finde ich es i.A. nicht mehr nötig, Alt-Browser noch zu unterstützen (Ausnahmen bestätigen natürlich die Regel und dann Hut ab vor dem Programmierer)
                            • Programme sollten fehlertolerant sein - sowohl im Hinblick auf die dem Autor unbekannte Laufumgebung, als auch was die Anwendernutzung angeht.

                            Okay, ich habe Dein Anliegen (schon) verstanden (die ganze Zeit) und werde versuchen es zukünftig mehr zu berücksichtigen. Ob das immer bis in die letzte Instanz passiert, kann ich natürlich nicht sagen, aber spätestens hier werde ich dann wohl für meine Nachlässigkeit zur Rechenschaft gezogen. ;-)
                            Dann muss ich abwägen, wie der Aufwand zum Nutzen steht und wieviel Sinn es (noch) macht. Das bezieht sich weniger auf dieses 08/15 Beispiel hier sondern allgemein. Sollte sich Deine Argumentation primär an diesem Beispielcode hier orientiert haben, dann spricht nichts gegen eine Abänderung (in Hinblick auf Kompatibilität), wichtiger war mir, einen "globalen" (mir fällt gerade kein passendes Wort ein) Einsatz von diesen Methoden zu hinterfragen. Gerade deshalb fand ich Dein letztes Resumee recht anschaulich und möchte dem beipflichten!

                            Liebe Grüße
                            Micha

                            --
                            LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
                            1. Hi,

                              Ich habe das lachen nicht verlernt ;-)

                              :))

                              Ob das immer bis in die letzte Instanz passiert, kann ich natürlich nicht sagen, aber spätestens hier werde ich dann wohl für meine Nachlässigkeit zur Rechenschaft gezogen. ;-)

                              Wer ohne Fehler ist, der werfe den ersten Stein! ;)

                              Gruß, Cybaer

                              *AUA* - *wer* war das? >;->

                              --
                              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                              1. Hi,

                                ich möchte Eure Diskussion nur ungern unterbrechen, die Ihr so lange fortgeführt habt:
                                gibt es denn nun eine vernünftige Lösung zum Script, das a) alle Browser verstehen, b) Grafiken und ihre Texte quasi vorlädt und c) die Texte irgendwo definiert plazieren kann, wenn Thumbnails geglickt werden? Bislang waren die Lösungen nämlich für einen Script-Dummie wie mich nicht hilfreich.

                                Beste Grüße von
                                Jens

                                1. Hell-O!

                                  gibt es denn nun eine vernünftige Lösung zum Script, das a) alle Browser verstehen, b) Grafiken und ihre Texte quasi vorlädt und c) die Texte irgendwo definiert plazieren kann, wenn Thumbnails geglickt werden?

                                  Ja, natürlich.

                                  Bislang waren die Lösungen nämlich für einen Script-Dummie wie mich nicht hilfreich.

                                  Wenn du diesen Status nicht ändern möchtest, gebe ich dir Recht.

                                  Siechfred

                                  --
                                  Hier könnte Ihre Werbung stehen.
                                  Dark Millennium || Die neue 1%-Regelung
                                2. Hi,

                                  Bislang waren die Lösungen nämlich für einen Script-Dummie wie mich nicht hilfreich.

                                  Soll das jemand für dich fertig scripten? Ist nicht dein Ernst.

                                  Mein Code in https://forum.selfhtml.org/?t=130795&m=846184 sollte dir zeigen, wie prinzipiell Bild & Texttausch funktioniert (nein, so etwas geht nicht in allen, nur in halbwegs neuen Browsern).

                                  Der Austausch-Text ist dann in der Seite, die Bilder müssen, wenn man nicht warten will, ähnlich wie beim Ursprungsbeispiel vorgeladen werden.

                                  Bei dr Umsetzung wird dir gerne geholfen, aber fertig serviert wird nur in Ausnahmefällen ...

                                  Gruß, Cybaer

                                  --
                                  Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                    2. Und einer, der noch einen IE4 nutzt, meine nichtssagenden Serverlogs bescheinigen mir 0 (in Wort Null) Besucher mit diesem Browser (das wird sich wahrscheinlich gleich schlagartig ändern *fg*), kann mir nicht erzählen, das er keine Möglichkeit hat(te), es zu ändern und unbewusst damit unterwegs ist.

                      Ich hab einen IE 4 und ich kann nichts daran ändern. Ich hab hier einen Pentium 100 mit 16 MB Speicher. alle Versuche einen neueren Browser zu installieren scheiterten, bzw. war selbst Opera zu lahm.

                      Und ich kann ein Lied davon singen, wie nervig es ist dass viele Seiten mit so einer Einstellung programmiert wurde. Was ist so schlimm document.images oder document.forms zu verwenden anstatt getElementBy...? Ist man dadurch cooler?
                      Oder wenigstens ein if(!documnet.getelementBy...) return einzubauen, kriegt jemand deshalb Geld abgezogen?

                      Struppi.

                      --
                      Javascript ist toll (Perl auch!)
                      1. Hallo Struppi,

                        Was ist so schlimm document.images oder document.forms zu verwenden anstatt getElementBy...?

                        Nichts!

                        Mit freundlichem Gruß
                        Micha

                        --
                        LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
  3. Hi,

    Für mich ist das Script in Ordnung,

    Ist es aber nicht. getElementById kann erst die aktuelle Browsergeneration. Es sind noch genug Browser im Einsatz, die hier Fehler melden - und wo das Script dann nicht funktioniert.

    Man sollte also vorher testen, ob getElementById existiert, oder besser, s. Siechfred, das images-Objekt verwenden (auf dessen Vorhandensein  man saubererweise auch vorher testen sollte ;-)).

    Andererseits: Wenn Du ohnehin noch Text mit innerHTML platzierst, dann bleib bei (weil es anders nicht geht) bei getElement... - aber Testen muß sein! ;-))

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!