Hallo,
| XMLHttpRequest returns the status code for the cached page
| if the request returns the cached page.
Wenn die erhaltene Seite gleich der Seite ist, die im Cache liegt, wird der Statuscode erklaert, der beim erstmaligem Erhalt der Seite vom Server zurueckgegeben wurde. Nicht der, den der Server bei der aktuellen Anfrage zurueckgegeben hat und durchaus unterschiedlich zum erstem Mal sein kann? Das kann ja bei autogenerierten Seiten durchaus vorkommen, das der Inhalt gleich, doch der Statuscode ein anderer ist.
Ich nehme an, es handelt sich nur um die Geschichte mit 200 und 304.
»If the request returns the cached page« - damit kann nur 304 gemeint sein. Ansonsten wäre die Neuerung widersinnig. Wenn der Server mit 200 und einem Response Body antwortet, wäre es unsinnig, den Statuscode der zwischengespeicherten Ressource zu verwenden (der aber dann sinnigerweise auch nur 200 sein kann).
Was wird ueberhaupt verglichen? Die Daten oder die Angaben im Header (E-Tag)? Koennte es jetzt vorkommen, das ich auf einen 304 "nix passiert!" vergeblich warte? Fragen ueber Fragen.
Wie, verglichen? Opera vergleicht mit Sicherheit keine Ressourcen selbst, sondern sendet schlichtweg beim zweiten (konditionalen) Request auf dieselbe Ressource den Entity-Tag zurück, den der Server beim ersten gesendet hat.
Was meinst du mit vergeblich warten auf 304?
Eine einzige ver!#@*&te Zeile in der Dokumentation haette doch gereicht, warum etwas aendern?
Weil viele Scripte einfach XMLHttpRequest.status == 200 prüfen, weil sie dieses Verhalten vom Browser erwarten.
BTW: warum kann ich eigentlich keine eigenen Ordner im Mailapp vom Opera erstellen und meine Post dort einsortieren?
Weil Opera Mail-Client nicht ordnerbasiert arbeitet. *Das* steht aber groß und breit in der Dokumentation.
Mathias