Autor | Zpráva | ||
---|---|---|---|
Pytris Profil * |
Dobrý večer,
poradíte mi někdo, proč tento skript nefunguje v IE? <script type="text/javascript"> $(document).ready(function(){ function update() { $.ajax({ url : "http://www.nekde.work/clock.php", success : function (data) { $("#time").html(data); } }); setTimeout(update, 1000); } update(); }); </script> Skript clock.php vraci aktualní čas, #time je DIV ve kterém by se měl čas ukázat. Díky za rady Moderátor Davex: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ). Moderátor Chamurappi: Titulek „Jquery load“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
|
||
Davex Profil |
#2 · Zasláno: 28. 12. 2010, 22:02:31
Pytris:
„proč tento skript nefunguje v IE?“ Protože se v IE kešuje výsledek prvního volání. Vskutku originální nápad ptát se AJAXem každou vteřinu na aktuální čas. Za to tě budou webhosteři milovat. |
||
ninja Profil |
#3 · Zasláno: 28. 12. 2010, 22:16:03
Pro obejití keše v IE doporučuji posílat nějaký "náhodný hash" :-)
url : "http://www.nekde.work/clock.php?timestamp="+(new Date().getTime() / 1000), |
||
Chamurappi Profil |
#4 · Zasláno: 28. 12. 2010, 22:23:28
Reaguji na Davexe:
Až tak originální nápad to zase není :-) Reaguji na Pytrise: Nemusí to takhle fungovat v žádném prohlížeči, pokud je počítač za nějakou proxy keší. |
||
Davex Profil |
#5 · Zasláno: 28. 12. 2010, 23:00:43
ninja:
Když už jsi to zmínil, tak ano, stejným způsobem funguje vypnutí kešování parametrem cache: false, |
||
Witiko Profil |
#6 · Zasláno: 29. 12. 2010, 20:16:34 · Upravil/a: Witiko
ninja:
Jen dodám, že tu už máme i funkci Date.now, která v případě podpory eliminuje nutnost tvorby instance objektu Date. :) url : "http://www.nekde.work/clock.php?timestamp=" + (Date.now?Date.now():new Date().getTime()), |
||
Pytris Profil * |
#7 · Zasláno: 29. 12. 2010, 21:18:03
Ahoj,
díky za rady. Co tedy navrhujete, když "originální nápad ptát se AJAXem každou vteřinu na aktuální čas" není to pravé ořechové?? |
||
Witiko Profil |
#8 · Zasláno: 29. 12. 2010, 21:25:24
Pytris:
Zeptat se jednou, do proměnné uložit rozdíl času uživatelových hodin a hodin na straně serveru a dále zobrazovat čas na základě hodin klienta s aplikováním daného posunu. |
||
Pytris Profil * |
#9 · Zasláno: 29. 12. 2010, 21:27:16
[#8] Witiko
To asi není úplně špatný nápad, díky za radu. |
||
Pytris Profil * |
#10 · Zasláno: 29. 12. 2010, 22:05:37
Poradil by někdo pár prověřených linků, ohledně kešuje výsledku a vůbec této problematice? (nejsem v této problematice znalý)
Předem díky. |
||
Witiko Profil |
#11 · Zasláno: 30. 12. 2010, 11:01:49 · Upravil/a: Witiko
Už jednou jsem tu zveřejňoval řešení serverového času:
http://diskuse.jakpsatweb.cz/?action=vthread&forum=8&topic=113247&page=0#10 Kód je podle mého přehledný, vytahej a případně přepiš do jQuery, co uznáš za vhodné. Ohledně cache: http://support.microsoft.com/kb/234067 K pozornosti doporučuji odstavec 'Další informace', který tě seznámí s účelem hlaviček a správným použitím. Článek není o javascriptu, ale to vůbec nevadí, protože problematika se točí kolem HTTP protokolu, ne javascriptu. |
||
Časová prodleva: 13 let
|
0