Kakva su vasa iskustva kada je u pitanju java script i IE 9? Da li imate problema da IE 9 kesira javascript,pa nakon izmene uopste ne vidi sta je novo,vec uporno koristi stari js kod? Kod mene je toliko problematicno da sam javascript fajlu prosledio datetime.now kako bi znao da ucita iznova javascript.
Cudno ponasanje IE 9 sa JavaScriptom
Zaključano
Zakačeno
da nije problem u IISu i podesavanjima za kesiranje?
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Pa iskreno nisam ni pomislio na to, jer sve lepo radi u ff.
Meni se to dešavalo kad sam testirao neki sajt, ja promenim kad ono isto. Primetio sam tako što se u drugim brauzerima promeni a IE drži isto. Kao da nešto kešira. Ne sećam se kako sam to prevazilazio, mislim da mu umesto Refreša zadam da ponovo ode na istu stranu (adress bar pa enter) ili otvorim novi tab.
Sto se tice IE-a i npr. ajax-a treba dodati u web aplikaciji:
aspx:
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
ili java/groovy:
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", -1);
aspx:
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
ili java/groovy:
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", -1);
Citat:
dejanet: Sto se tice IE-a i npr. ajax-a treba dodati u web aplikaciji:
aspx:
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
ili java/groovy:
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", -1);
aspx:
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
ili java/groovy:
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", -1);
Video sam to po netu,ali ne resava problem sa js i ie 9. IE 9 i dalje nastavlja da pamti stari js.
Imao sam slican slucaj sa jednim likom koji je pravio online turnir u CakePHP-u, i desavalo mu se da kad se neko uloguje, dobije stranicu prethodnog korisnika, i nekad cak ni reload/refresh u browseru nije pomagao kako bi se izbegao cache. To je reseno tako sto je u PHP-u kreirana sledeca funkcija:
Tako da je HTTP header izgledao ovako:
Dejanet ti je vec dao savet za jedan deo headera, ali se secam da dokle god nisam sva ova polja podesio prema gornjoj shemi, da je kesiranje stranica i dalje funkcionisalo. Znaci, umesto PHP koda ti ubaci odgovarajucu ASP.NET alternativu, ali se potrudi da pratis gornju shemu (datum u Expires polju moze biti bilo koji, vazno je samo da bude u dalekoj proslosti, pa da cak i ako nekome crkava baterija na BIOSu i casovnik mu je uvek u praistoriji, opet dobije podatak da je stranica zastarela)...
Code:
function beforeRender() {
header('Cache-Control: no-store, private, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0, max-stale = 0', false); // HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1987 05:00:00 GMT'); // Date in the past
header('Expires: 0', false);
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Pragma: no-cache');
}
function beforeRender() {
header('Cache-Control: no-store, private, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0, max-stale = 0', false); // HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1987 05:00:00 GMT'); // Date in the past
header('Expires: 0', false);
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Pragma: no-cache');
}
Tako da je HTTP header izgledao ovako:
Citat:
Cache-Control: no-store, private, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0, max-stale = 0
Expires: Sat, 26 Jul 1987 05:00:00 GMT, 0
Pragma: no-cache
Expires: Sat, 26 Jul 1987 05:00:00 GMT, 0
Pragma: no-cache
Dejanet ti je vec dao savet za jedan deo headera, ali se secam da dokle god nisam sva ova polja podesio prema gornjoj shemi, da je kesiranje stranica i dalje funkcionisalo. Znaci, umesto PHP koda ti ubaci odgovarajucu ASP.NET alternativu, ali se potrudi da pratis gornju shemu (datum u Expires polju moze biti bilo koji, vazno je samo da bude u dalekoj proslosti, pa da cak i ako nekome crkava baterija na BIOSu i casovnik mu je uvek u praistoriji, opet dobije podatak da je stranica zastarela)...
Resenje za asp.net i IE9 :
Code:
Response.AppendHeader("Cache-Control", "no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
Response.AppendHeader("Cache-Control", "no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
Potpis
Viva lollapalooza
Ispravite me ako gresim. Caching script fajlova treba da postoji kako ne bi stalno iznova ucitavao iste?! Problem je samo sto on ne prepoznaje novu verziju fajlova, a to sam resio tako sto sam java script fajlu dodao kao parametar datetime.now