otáčení obrázků ajaxem .. obrázek nejspíš zůstane v cachi prohlížeče

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Oggy
Člen | 306
+
0
-

Mám napsán helper na lazy generování obrázků..

v administrační části jsem udělal možnost natočení obrázku..

ajaxově se zavolá otočení obrázku .. handleOTOC .. vymaže všechny náhledy od daného obrázku .. otočí ten základní obrázek(ze kterého se generují nahledy) .. zavolám překreslení snippetu ve kterém je jeden z těch náhledů.. – měl by se vygenerovat znovu, protože nyní po smazání už neexistuje.

problém, který nastává ..vše proběhne ok, ale helper na generování náhledů vrací Html element img ..kde src je cesta k náhledů width a height..klasicky :-) ..vše je správně..

ale při překreslení snippetu ajaxem asi zůstává v cachi prohlížeče (zatím si to jinak vysvětlit neumím) .. uložen ten původní neotočený náhled ..
takže protože helper vrátí v pořádku Html element už s novým width a height.. prohlížeč vykreslí ten původní s novou šířkou a výškou ..takže jen zdeformuje původní obrázek..

při reloadu to funguje..

po invalidaci snippetu.. a poté reload se vykreslí obrázek už správně..

snad je to k pochopení..

kde by mohl být problém? v té cachi prohlížeče? jak s tím naložit?
nebo někde úplně jinde? nějaká myšlenka?
děkuju

Ondrej
Člen | 110
+
0
-

jj, zustava v cache prohlizece. Ja to resim tak, ze za url obrazku pridavam parametr timestamp z casu vytvoreni nahledu. Napr. obrazek.jpg?12464875

Oggy
Člen | 306
+
0
-

zkouším přidat v nette jquery k url časový řetězec..jak jsem se teď někde dočetl.. nastavit do ajaxSetup cache: false… ale nepomáhá..

pokud teda myšlenka, že to způsobuje cache je správná .. hádám, že bude zádrhle v nějaké „prkotině“ úplně jinde :-))

Oggy
Člen | 306
+
0
-

Ondrej napsal(a):

jj, zustava v cache prohlizece. Ja to resim tak, ze za url obrazku pridavam parametr timestamp z casu vytvoreni nahledu. Napr. obrazek.jpg?12464875

Díky..to pomohlo!

Editoval Oggy (6. 5. 2010 0:57)

Oggy
Člen | 306
+
0
-

Ještě mám takový dotaz.. je možné že stejné problémy nastanou u sql dotazů? .. server si je nějak interně cachuje ..

takže pokud mám toto

<?php
 public function delete($id, $dialog) {

        $delete = WebStructureModel::delete($id);

        if($delete) {
            $this->presenter->flashMessage('Sekce byla úspěšně smazána', 'success');

            if (!$this->presenter->isAjax()) $this->presenter->redirect('this');
            $this->presenter->invalidateControl('webStructure');
        }
        else {
            $this->presenter->flashMessage('Nepodařilo se sekci vymazat', 'error');
        }
    }
?>

voláno ajaxově ..

taky po smazání $delete ..
když invaliduju snippet webStructure ..tak podle logu sql vrací záznam i s tím smazaným..napádá mě, že by to mohlo být podobné jako s těmi obrázky v cachi..

je to možné?
jak to řešíte?

díky