Proszę o pomoc w sprawie wywołania efektu odświeżenia strony w taki sposób aby obrazki zostały pociągnięte z serwera a nie z cache'a.
W formularzu wysyłam na serwer obrazek, który po obróbce zostaje zapisany pod konkretną nazwą jako plik i jako wpis w mysql. Nazwa obrazka jest niezmienna - po zmianie obrazka na inny, dotychczasowy zostaje na serwerze zastąpiony nowym, który ma tę samą nazwę.
Po powrocie na stronę, która te obrazki wyświetla, przeglądarka nie zauważa, że cokolwiek się zmnieniło i wyświetla stan sprzed zmiany obrazka - nazwa pliku (ta sama) wskazuje na plik, który ma już w cache'u więc pobiera go stamtąd, a to jest stary obrazek, który był przed zmianą. Ręczne odświeżenie strony powoduje poprawne wyświetlenie aktualnego obrazka z serwera.
Moim problemem jest programowe zmuszenie przeglądarki do wykonania jednej prostej operacji odświeżenia strony jak Ctrl-R w firefoxie.
Różne próby w java script (które podejmowałem po omacku bo nie znam javy) powodują albo ciągłe odświeżanie w pętli albo brak odświeżania (albo może odświeżanie z cacha) - w każdym razie bez efektów.
Robię tak:
Po zmianie zdjęcia przekazuję phpem parametr w $_GET. Na stronie wyświetlającej obrazki sprawdzam (w php) istnienie tego parametru w $_GET i jeśli jest, wysyłam do przeglądarki kod java-script, którym usiłuję odświezyć stronę oraz kasuję parametr kontrolny z $_GET (aby odświeżać tylko raz). Nie wiem jak ma wyglądać ten kod java. Kod jak niżej nie daje efektu.
{ };
Nie chcę przy zmianie obrazka zmieniac jego nazwy dodając losowy ciąg znaków aby nazwa była inna niż w cache'u.
Nie mogę użyć odświeżania po krótkim czasie w sekcji meta html bo całość mam zorganizowaną w postaci niezmiennego szkieletu, w który php wkleja mi dynamicznie tylko kod każdej podstrony pomiędzy <div></div> a nie generuje całości.
Na stronach mam sporo niezmiennej grafiki, która ma być z cache'a więc chcę odświeżać z serwera jak najmniej - tylko warunkowo konkretną podstronę a wręcz konkretny obrazek jakby się tak dało.
Z góry dziękuję za pomoc
Bart