Calocybe: JS wird nach Ändern der Fenstergröße nicht mehr ausgeführt

Beitrag lesen

Hallo Detlef!

Du koenntest mal folgendes versuchen. Im <HEAD>:

var lm;
    var MOYArray = ["January", "February", "March", "April", "May", "June", "July",
        "August", "September", "October", "November", "December"];
        /* sieht etwas einfacher aus als ein initArray-Objekt, oder? */

if (!lm) lm = new Date(document.lastModified);

Dann im <BODY>:

document.write("Last Update ");

if (lm.getTime() == 0)
        document.write("Unknown");
    else
        document.write(lm.getDate(), ". ", MOYArray[lm.getMonth()], " ", 1900+lm.getYear());

Ich hoffe, durch die Abfrage  if (!lm)  wird das Date-Objekt nur einmal erzeugt und dadurch auch nur einmal die lastModified-Zeit abgefragt wird. Das setzt voraus, dass das Objekt bei einem Resize nicht geloescht wird bzw. die Variablen ueberhaupt zurueckgesetzt werden.

Die Sache mit dem 1.1.1970 passiert immer dann, wenn die lastModified-Zeit nicht bekannt ist, weil sie z.B. der Webserver nicht mitgesendet hat. Deshalb frage ich erst ab, ob getTime() 0 liefert - das ist naemlich genau der 1.1.1970. (Siehe dazu http://developer.netscape.com/docs/manuals/js/client/jsref/document.htm#1193811) Warum die lastModified-Zeit nach einem Resize ploetzlich nicht mehr zur Verfuegung steht, weiss ich zwar nicht, hoffe aber, das mit dem nur-einmal-abfragen abfangen zu koennen.

Ja, versuch einfach mal und sag uns, was dabei rauskommt.

Bye, Calocybe