SELFHTML Forums-Auslese JavaScript | |
Forums-Auslese |
|
lastModified in verschiedenen Browsern |
|
Basierend auf einem Forums-Beitrag vom 01.09.1998 von:
Robert Allerstorfer, roal@anet.at
Christine Kuehnel, kuehnel@screenExa.net
Leider genügt es nicht, die Darstellung von HTML-Code mit verschiedenen Browsern zu überprüfen, auch das Betriebssystem beeinflusst das Aussehen bzw. Funktionieren von Webseiten. So gibt z.B. die Methode lastModified das Datum unter Windows im Format "08/30/98 16:25:46" und unter Macintosh als "Aug 30 16:25:46 1998" aus.
Diese Frage wurde in der Newsgroup de.comp.lang.javascript ausführlich diskutiert inklusive Tests über verschiedene Server und Clients (Betriebssysteme/Browser). Entstanden sind u.a. eine Übersicht, über die Ausgaben der unterschiedlichsten Browser, zwei Scripts zur Darstellung des bei uns üblichen Datums und deren Ergebnisse mit ganz verschiedenen Browsern. Sie können diese Übersicht in der FAQ der Newsgroup unter http://irb-www.informatik.uni-dortmund.de/~sm/aw/js/faq/datetime/lastmod.html abrufen.
Basierend auf einem Forums-Beitrag vom 01.04.1999 von:
Stefan Muenz, muenz@csi.com
Um ein Array um ein oder mehrere Elemente zu erweitern, dient die Methode push(). Diese ist jedoch nur im Netscape Navigator ab der Version 4 implementiert. Mit der folgenden alternativen Methode können Sie dennoch weitere Elemente an einem Array anfügen: Mittels der Eigenschaft length fragen Sie die Länge des Feldes ab und ordnen dem Array ein weiteres Element zu.
<script language="JavaScript"> <!-- var Feld=new Array("a","b","c"); Feld[Feld.length]="d"; alert(Feld[Feld.length-1]); //--> </script> |
Die Eigenschaft length gibt die Anzahl der Elemente in einem Feld zurück. Einzelne Elemente werden in einem Array durch die Indexnummern angesprochen. Deren Zählung beginnt bei Null. Feld.length ist damit gleichzeitig die nächste mögliche Indexnummer. Ordnen Sie durch Feld[Feld.length]="Element" einem Feld ein neues Element zu, wird dieses automatisch am Ende des Feldes angefügt.
Basierend auf einem Forums-Beitrag vom 05.01.2000 von
Stefan Muenz, muenz@compuserve.com
und auf einem Forums-Beitrag vom: 07.01.2000 von:
Jörg Tröster, troester@web.de
Datumsangaben und Zeitangaben erhalten Sie in JavaScript über das Objekt Date().
Unter Nutzung der Methode getYear() können Sie daraus die Jahreszahlen ermitteln.
Mit Erreichen des Jahreswechsels 2000 wurde die unterschiedliche Art und Weise der Implementierung dieser Methode sichtbar.
Die verschiedenen Browser werten die vom Date-Objekt übergebenen Strings unterschiedlich aus.
Dies führt dazu, dass die Jahresangaben voneinander abweichen und das Ergebnis vierstellig (z.B. 2000) oder dreisteilig (z.B. 100) sein kann.
Erschwerend kommt hinzu, dass der von document.lastModified gelieferte Datumsstring sich von der normalen Datumsdarstellung unterscheidet, und in einigen Browsern nur einstellige Jahreszahlen (z.B. 0) zurückliefert.
function myFullYear(dateObject) { var y = dateObject.getYear(); if (y<2000) y+=1900; if (y<2000) y+=100; return y; } |
Die Funktion erhält als Parameter den erzeugten Datumsstring. Aus diesem Parameter
wird das Jahr extrahiert. Anschließend wird geprüft, ob die Jahresangabe kleiner als 2000 ist.
In diesem Fall erfolgt eine dreistellige Jahresangabe und durch die Addition von 1900 wird das
tatsächliche Jahr wieder angegeben. Die folgende erneute Prüfung fängt den Fall ab, dass das Date-Objekt
unter Verwendung von document.lastModified erzeugt wurde. Hier wird zusätzlich - falls erforderlich - noch die Zahl 100 zum
aktuellen Wert addiert.
Der Rückgabewert der Funktion enthält dann das aktuelle Jahr.
Vierstellige Jahreszahlen können Sie auch mit der Methode getFullYear() erhalten. Diese Methode steht jedoch erst seit der JavaScript-Version 1.3 zur Verfügung. Zudem liefert sie in einigen Versionen des Netscape Navigators in Verbindung mit document.lastModified eine falsche Jahresangabe zurück.
weiter: | Dynamische Images und Rollovers |
zurück: | Navigationssteuerung bei Frames |
SELFHTML Forums-Auslese JavaScript |
© 2000 das Redaktionsteam