刷新图像PHP和Javascript
我正在使用一个名为APE的Comet,Realtime引擎,我正在使用jQuery来刷新PHP图像。 最初我像这样加载图像:
然后当我收到一个事件时,我这样做:
$("#container").empty(); $("#container").html('');
device是我从事件中收到的var,所以例如我得到device1,一切正常(图像实际上是图表),标题更改为“device1”,并绘制最后5分钟
但是,我的问题是每次收到一个事件,在这个初始事件之后,日期仍然是相同的五分钟时间。 我的设备每次都是相同的,但在我的脚本中我计算5分钟前到当前时间的时间纪元,但是这个脚本似乎没有更新图像。 是缓存还是什么?
我尝试在页面顶部使用它:
我可以等待大约10分钟,发送一个事件,但时间段仍然是从初始加载,我认为“empty()”将清除容器,重新加载图像,因此重新运行脚本。 任何建议都会有帮助!
谢谢
一种常见的方法是在包含unix时间戳的查询字符串中添加一个普通的var; 浏览器将每个调用视为对唯一图像的调用。 例如
'image.php?device=' + device + '&t=' + Math.round((new Date()).getTime() / 1000);
因此它不认为它有缓存的图像。 (虽然它会继续任何缓存策略导致此问题)
在图像路径上添加一个额外的随机变量。
$("#container").html('');
这将使它看起来像一个不同的URL,并导致浏览器不缓存。 这与YUI使用的策略相同。