Jqueryのloadイベントで画像を読み込み処理を作っています。
画像は定期的に更新が行われるので、読み込みを短時間で定期的に行い即座に最新のものを反映させたいのですが、
元ファイルが最新のものになってから、「最新の画像」を画面に読み込むのに時間にムラがあります。
短い時は1秒ほどですが、ほとんどが約3~4秒、長い時は5秒以上掛かってしまいます。
(画像データはかなり小さいです)
ちなみにページロード時にloadイベントが走った時は、画像は即座に最新の物が反映されます。
読み込んだ時の処理自体は毎度動いているので、画像自体は古いものを一定時間読み込んでいるような気がします。
キャッシュから読み込まないようにしているのですが、他に対処方法は考えられるでしょうか?
追記
色々試しているのですが、一つわかったのが下記です。
①対象の読み込みをディレクトリから一時的に削除する
②繰り返しのload処理が行われるが、ファイルがないためデベロッパーツール上ではエラー表記が繰り返し表示される。
③対象のディレクトリにファイルを戻した際に、数秒は②の状態が続く。
これはファイルをすぐに参照できていないことだと思うのですが、
エイリアス設定でパスを読み込んでいることと何か関係があるのでしょうか?
$.ajaxSetup({ cache: false }); $(function(){ setInterval(function(){ load(); },500); } function load(){ var timestamp = new Date().getTime(); $("#svgArea").load("images/logo.svg?" + timestamp + " svg", function(){ //読み込んだ時の処理 }); }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/16 01:09
2016/03/18 00:21