document.lastModified gibt bei Opera 9.01 ein falsches Jahr aus
Guido
- javascript
0 Orlando0 Tobias Kloth
Hallo,
dieses Forum ist sehr umfangreich und ich weiß gar nicht, nach welchen Suchbegriffen ich suchen soll, um nicht unzählige irrelevante Suchergebnisse zu erhalten. Bisher habe ich nichts gefunden.
Ich möchte auf meiner Webseite über ein JavaScript das Datum der letzten Änderung ausgeben und habe auch schon eines gefunden. Es funktioniert in Firefox 1.5, im IE 6 und bei AOL perfekt. Nur der Opera 9.01 Browser spielt nicht mit. Solange das Script in einer HTML-Datei auftaucht, funktioniert es auch im Opera. Binde ich es in einer PHP-Datei ein, gibt der Opera als Jahr der letzten Änderung immer 1970 aus. Woran kann das liegen? Für Tipps wäre ich sehr dankbar. Übrigens, in Zeile 4 (var month) befindet sich kein Zeilenumbruch. Die Zeile wird nur hier im Forum umgebrochen.
Hier das Script (externe js-Datei):
<!--
var dLM = new Date(Date.parse(document.lastModified));
var day = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
var month = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
var date = dLM.getDate();
var day = day[dLM.getDay()];
var year = dLM.getFullYear();
var month = month[dLM.getMonth()];
var hours = dLM.getHours();
var minutes = dLM.getMinutes();
var seconds = dLM.getSeconds();
if (date<10) date = "0"+date;
if (month<10) month = "0"+month;
if (hours<10) hours = "0"+hours;
if (minutes<10) minutes = "0"+minutes;
if (seconds<10) seconds = "0"+seconds;
document.write("Letzte Änderung am "+day+", dem "+date+". "+month+" "+year);
// -->
Hallo Guido,
Binde ich es in einer PHP-Datei ein, gibt der Opera als Jahr der letzten Änderung immer 1970 aus.
var dLM = new Date(Date.parse(document.lastModified));
^^^^^
Das ist das, was http://de.selfhtml.org/javascript/objekte/date.htm#parse@title=parse() tun soll, wenn ich das richtig verstehe.
Grüße
Roland
Hallo Guido,
Es funktioniert in Firefox 1.5, im IE 6 und bei AOL perfekt.
AOL verwendet den IE, er sollte sich also identisch verhalten (oder haben die von AOL da irgendwelche Schweinereien eingebaut?)
Binde ich es in einer PHP-Datei ein, gibt der Opera als Jahr der letzten Änderung immer 1970 aus. Woran kann das liegen?
Wenn es in allen Browsern nicht funktionieren würde, würde ich vermuten, dass das PHP-Script keinen last-modified-Header mitschickt, weswegen Javascript nicht weiß wann die Datei das letzt mal geändert wurde - wenn aber nur Opera 9 betroffen ist, kann ich dir nur raten das was in den verschiedenen Browsern in document.lastModified steht mal zu vergleichen, nachzuschauen ob in Opera 8.54 der Fehler auch auftritt und ggf. den Link zu der Seite hier zu posten, damit wir uns das mal anschauen können.
Aber warum gibst du das Datum eigentlich nicht mit PHP aus (die Funktionen filemtime() und date() helfen dir dabei) - damit bist du dann gleich von JS unabhängig.
Hier das Script (externe js-Datei):
<!--
Was haben HTML-Kommentare in einer js-Datei zu suchen?
Grüße aus Nürnberg
Tobias