ChrisB: kann man HTTP-Head Anfragen stellen in JS (Frameworks)?

Beitrag lesen

Hi,

[...] stört mich vor allem, das beim Durchblättern _immer_ das vorherige und das nächste Bild 'preloaded' werden. Was für ein Quatsch! Das ist nur notwendig, wenn die Lightbox-Ansicht gestartet wird, danach ist 100% der Fälle nur das vorausladen von _einem_ Bild notwendig. Denn wenn man auf next geklickt hat, hat man das previous ja gerade schon lange genug betrachtet.

Auch beim "Vorladen" eines bereits geladenen Bildes wird der Browser das Bild einfach aus dem Cache holen - sofern es mit entsprechenden Caching- und einem Last-Modified-Header ausgeliefert wird, und der Server dann bei einem entsprechenden Request auch einen 304 Not Modified als Antwort liefert.

Ich würde das gerne ändern, und frage mich, wie man mit Javascript abfragen kann, ob ein zuvor schon einmal geladenes Bild sich verändert hat oder nicht. In PHP würde ich dazu eine HTTP-Anfrage mit HEAD senden und in den meisten Fällen wohl 'not modified' zurück bekommen.

Den bekommt der Browser auch bei einem Conditional GET-Request, der einen If-Modified-Since-Header beinhaltet.
Mit einem zunaechst abgesetzten HEAD-Request muesstest du also selber noch einen GET-Request "nachschieben", sollte das Bild aus irgendeinem Grund nicht in einer aktuellen Version im Cache vorhanden sein.
Neben komplizierterer Scriptlogik wuerdest du also in diesem Falle auch noch einen zusaetzlichen HTTP-Request benoetigen.

Du versuchst m.E. gerade dein Script an einer Stelle zu "optimieren", an der eine Optimierung nicht nur gar nicht notwendig, sondern in der angedachten Art und Weise sogar kontraproduktiv waere.

MfG ChrisB

--
„This is the author's opinion, not necessarily that of Starbucks.“