alter einer seite mit javascript berechnen

Fragen und Antworten zur clientseitigen Programmiersprache JavaScript

alter einer seite mit javascript berechnen

Beitragvon kalle am Do 6. Mär 2008, 13:28

Hallo,

würde gern das Alter einer Seite mit Javascript berechnen und auf der Seite anzeigen lassen. Ist es möglich das
Alter einer HTML-Datei mit Javascript zu ermitteln oder muss man dafür gleich irgendwas auf dem Server laufen
lassen? Ich habe kein PHP oder andere Programmiersprachen, die ich nutzen kann!

Danke für eure Hilfe...
kalle
 
Beiträge: 11
Registriert: Do 6. Mär 2008, 13:25
Posts

Beitragvon alm am Do 6. Mär 2008, 14:24

Hallo kalle,

wenn es sich dabei um eine normale HTML-Seite handelt, dann ist die Bestimmung des Seitenalters auch ohne
PHP möglich. Allerdings kann das Alter der Seite nur als Differenz zum Zeitpunkt der letzten Änderung des
Files automatisch errechnet werden. Das absolute Alter einer Datei kann weder per PHP noch mit JavaScript
errechnet werden (es sein denn, man legt diese Informationen getrennt von der Datei noch irgendwo anders
- etwa in einer Datenbank oder einer Datei - ab). Dies liegt daran, dass beim Upload der Seite jedesmal
das Änderungsdatum und die Änderungszeit auf den Zeitpunkt des FTP-Uploads gesetzt wird.

Das Datum der letzten Änderung einer HTML-Datei kann zwar nicht direkt mit JavaScript aber mit Server Side
Includes ermittelt werden. SSI wird meistens auch dann unterstützt, wenn keine Scriptsprachen vom Webserver
ausgeführt werden. Mit folgender Zeile lässt sich das Datum der letzten Änderung einer HTML-Seite ermitteln:
Code: Alles auswählen
<!--#config timefmt="%d.%m.%Y" --><!--#echo var="LAST_MODIFIED" -->

Infos zum Einbinden von SSI: SSI in HTML einbauen

Zur Berechnung der seitdem vergangenen Zeit musst Du dieses Datum per JavaScript mit dem aktuellen Datum verrechnen.
Durch Anpassung des Ausgabeformats der Datumsinformationen kann diese SSI-Ausgabe in den JavaScript-Code zur Festlegung
des Erstellungsdatums eingebaut werden. Meint folgendes:
Code: Alles auswählen
entweder so:
aenderungsdatum = new Date (<!--#config timefmt="%Y,%m,%d" --><!--#echo var="LAST_MODIFIED" -->);
// Monat korrigieren, da das Date-Objekt in JavaScript Monate von 0 bis 11 nummeriert
aenderungsdatum.setMonth (aenderungsdatum.getMonth () - 1);

oder gleich so:
aenderungsdatum = new Date (<!--#config timefmt="%Y,%m-1,%d" --><!--#echo var="LAST_MODIFIED" -->);

In der HTML-Datei steht dann bei Aufruf der Seite im erzeugten Date-Objekt das Datum der letzen Änderung
und der Browser kann den JavaScript-Code zur Berechnung der vergangenen Zeit ausführen.

Wenn Du das tatsächliche Alter einer Seite berechnen willst, dann musst du wohl oder übel im Script angeben,
wann die Seite erstellt wurde und auf Basis dieser Daten das absolute Alter der Seite errechnen.
Etwa so:
Code: Alles auswählen
// Akutelles Datum per JavaScript ermitteln
jetzt = new Date ();
// Erstellungsdatum ist der 1.1.2008 (Achtung! Monat wird von 0-11 angegeben)
erstellt = new Date (2008, 0, 1);
// vergangene Zeit in Sekunden
differenz = (jetzt.getTime () - erstellt.getTime ()) / 1000;
// vergangene Zeit in Tagen
tage = Math.floor (differenz / (24 * 60 * 60));
// Ausgabe der vergangenen Tage
document.write ('Zuletzt geändert vor ' + tage + ' Tagen');

Eine Berechnung der vergangenen Jahre, Monate und Tage muss unter Berücksichtigung von Schaltjahren erfolgen.
Siehe auch: Weitere Infos zum JavaScript-Objekt Date

Gruß
Alex
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts


Zurück zu JavaScript

cron