SELFHTML

Forums-Auslese
JavaScript-Kernobjekte (Math, Date, Number, navigator usw.)

Diese Seite ist ein Dokument mit Informationstext

nach unten lastModified in verschiedenen Browsern
nach unten Neuer Beitrag in der Forums-Auslese Neues Element an einem Array anfügen
nach unten Neuer Beitrag in der Forums-Auslese Falsche Jahreszahl bei der Verwendung von getYear()

nach unten 

lastModified in verschiedenen Browsern

Basierend auf einem Forums-Beitrag vom 01.09.1998 von:
E-Mail Robert Allerstorfer, roal@anet.at
E-Mail 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 deutschsprachige Seite http://irb-www.informatik.uni-dortmund.de/~sm/aw/js/faq/datetime/lastmod.html abrufen.

nach obennach unten 

Neues Element an einem Array anfügen

Basierend auf einem Forums-Beitrag vom 01.04.1999 von:
E-Mail Stefan Muenz, muenz@csi.com

Um ein Seite Array um ein oder mehrere Elemente zu erweitern, dient die Methode Seite 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.

Beispiel:

<script language="JavaScript">
<!--

var Feld=new Array("a","b","c");
Feld[Feld.length]="d";
alert(Feld[Feld.length-1]);

//-->
</script>

Erläuterung:

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.

nach obennach unten 

Falsche Jahreszahl bei der Verwendung von getYear()

Basierend auf einem Forums-Beitrag vom 05.01.2000 von
E-Mail Stefan Muenz, muenz@compuserve.com und auf einem Forums-Beitrag vom: 07.01.2000 von:
E-Mail Jörg Tröster, troester@web.de

Datumsangaben und Zeitangaben erhalten Sie in JavaScript über das Objekt Seite Date(). Unter Nutzung der Methode Seite 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 Seite document.lastModified gelieferte Datumsstring sich von der normalen Datumsdarstellung unterscheidet, und in einigen Browsern nur einstellige Jahreszahlen (z.B. 0) zurückliefert.

Workaround:

function myFullYear(dateObject)
{
var y = dateObject.getYear();
if (y<2000) y+=1900;
if (y<2000) y+=100;
return y;
}

Erläuterung:

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.

Hinweis

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.

nach oben
weiter:Weiter Seite Dynamische Images und Rollovers
zurück:Zurück Seite Navigationssteuerung bei Frames
 

© 2000 Seite das Redaktionsteam