gpt4 book ai didi

php - 刷新图像 PHP 和 Javascript

转载 作者:行者123 更新时间:2023-12-01 02:16:14 24 4
gpt4 key购买 nike

我正在使用名为 APE 的 Comet 实时引擎,并且我正在使用 jQuery 刷新 PHP 图像。最初我像这样加载图像:

<div id="container">
<img src="image.php" style='background: url(../assets/load.gif) no-repeat center center;margin-left:42px;' alt=' Loading ...' width="500px" height="300px" />
</div>

然后当我收到事件时,我会这样做:

$("#container").empty();
$("#container").html('<img src="image.php?device='+device+'" style="background: url(../assets/load.gif) no-repeat center center;margin-left:42px;" width="500px" height="300px" alt=" Loading ..."/>');

device 是我从事件中收到的一个 var,因此例如我得到 device1,一切正常(图像实际上是一个图表),标题更改为“device1”并绘制了最后 5 分钟

但是,我的问题是每次我收到事件时,在第一个事件之后,日期仍保持在相同的五分钟期间。我的设备每次都是相同的,但在我的脚本中,我计算了 5 分钟前到当前时间的时间纪元,但该脚本似乎没有更新图像。是被缓存了还是什么?

我尝试在页面顶部使用它:

<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
?>

我可以等待大约10分钟,发送一个事件,但时间段仍然是从初始加载开始,我认为“empty()”会清除容器,重新加载图像,从而重新运行脚本。任何建议都会有所帮助!

谢谢

最佳答案

一种常见的方法是将一个简单的 var 添加到保存 unix 时间戳的查询字符串中;浏览器将每次调用视为对唯一图像的调用。例如

'image.php?device=' + device + '&t=' + Math.round((new Date()).getTime() / 1000);

这样它就不会认为它有缓存的图像。 (尽管它将继续导致此问题的任何缓存策略)

关于php - 刷新图像 PHP 和 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5150577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com