4.2k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,

ich möchte mit Javascript das Änderungsdatum der HTML-Seite anzeigen lassen. Dies funktioniert offline, aber nicht online. Da wird der heutige Tag angezeigt und es erscheint eine Fehlermeldung im Browser unten links "Fehler auf dieser Seite". Kann an der angegbenen Stelle aber keinen finden: Zeile 21, Spalte 60. Der Pfad zum Script stimmt, da der Rest des Datums (Monat und Jahr) richtig angezeigt wird, nur nicht der richtige Tag.

Das folgende Script befindet sich in einer externen Datei updatum.js:
function datum(){
mn = new Array("Jan.","Febr.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez.");
d = new Date(document.lastModified);
m = mn[d.getMonth()];
t = d.getDate();
jj = d.getYear();
j = (jj>=2000)?jj:((jj<80)?jj+2000:jj+1900);
dat = (t+". "+m+" "+j);
}

Die funktion wird in der HTML mit folgenden Code aufgerufen:
head
<script src="./scripte/updatum.js" type="text/javascript"></script>
/head

body
<SCRIPT language="JavaScript" type="text/javascript">datum(); document.write("Stand: " + dat );</SCRIPT>
/body

Wo könnte der Fehler liegen?

Danke!

20 Antworten

0 Punkte
Beantwortet von
Wie alt ist das denn?

etwas aktualisiert sollte das so aussehen:

function datum(){
var mn = ["Jan.","Febr.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."];
var d = document.lastModified;
d= (!d || d=="")? (new Date()) : (new Date(d));
var m = mn[d.getMonth()];
var t = d.getDate();
var j = d.getFullYear();
return t+". "+m+" "+j;
}


sinnvoller Einbau über:

<script type="text/javascript">document.write("Stand: " + datum());</script>


Bitte teste dies im Firefox und schaue in dessen Fehlerkonsole (Menü Extras), der Internet-Explorer ist als JavaScript-Test- und Entwicklungsumgebung komplett ungeeignet, u.a. aufgrund seiner nichtssagenden Fehlermeldungen.
0 Punkte
Beantwortet von
Das Script habe ich irgendwo mal gefunden.
Danke für deine Hilfe.
Werde es ausprobieren.
0 Punkte
Beantwortet von
Leider noch der gleiche Anzeige-Fehler.
Habe keinen Firefox installiert. Arbeite noch mit Win98.
0 Punkte
Beantwortet von
Ich habe gerade im Internet gelesen, dass die lastModified Methode online nicht funktioniert, da immer das Abrufdatum der HTML-Seite als aktuelles Datum angezeigt wird. Stimmt das?
Gibt es sonst eine andere Möglichkeit mit Javascript?
0 Punkte
Beantwortet von
immer das Abrufdatum der HTML-Seite als aktuelles Datum angezeigt wird
das ist Blödsinn!

Allerdings ist es so, dass zB. Seiten, die per PHP oder ähnlichem auf dem Server zusammengestellt werden, damit auch erst im Moment des Aufrufs erstellt werden (betrifft somit Seiten mit der Endung php).

Bei Seiten mit der Endung htm, html wird das letzte Änderungsdatum auf dem Server angegeben. Dabei kann aber der Server zB. in den USA oder Australien stehen und somit dessen Zeit ein bisschen von der hiesigen abweichen.

Außerdem gibt es einige Browser, die lastModified nicht unterstützen, aber mein obiger Code ersetzt in dem Fall lastModified einfach durch das aktuelle Datum.
0 Punkte
Beantwortet von
Ach so: such dir eine ältere Firefox-Version und installiere die, bis Firefox 2.0 müsste das mit Win 98 klappen, und den findest du auch noch zum Download im Netz.
0 Punkte
Beantwortet von
Es funktioniert nicht!
Lies dir mal diesen Beitrag durch. https://supportnet.de/fresh/2007/4/id1540355.asp
Ist das gleiche Problem.
0 Punkte
Beantwortet von
Ja, und? Ich kenne den Thread, der ist ja mangels Rückmeldung des Fragers nie beendet worden. Hast du deinen Code daraus? Das war doch dort schon als veraltet gekennzeichnet.

2 Fragen:
Was sagt der Firefox?
Ist deine Seite eine PHP-Seite?

Beides sind auch in dem Beitrag von 2007 ungeklärte Fragen!

Es würde dir sehr helfen, wenn du hier einfach den Link zu deiner Seite preisgeben könntest!
0 Punkte
Beantwortet von
...auch der neue Code von dieser Seite funktioniert nicht.
Hier meine Webseite, die es betrifft.

Vielleicht funktioniert es auf deinen Browser. Bei den meisten Seiten müsste als Änderungsdatum der 15. Febr. 2010 erscheinen. Aber es erscheint überall bei mir das heutige Datum.
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Du meinst im Frame unten links, wo bei mir
Stand: 1. Jan. 1970
steht? :-)
...