【问题标题】:Reloading Images On Page Reload在页面重新加载时重新加载图像
【发布时间】:2014-01-08 11:30:13
【问题描述】:

我有一个重新加载页面的按钮:

<input type="button" name="reloadPage" id="reloadPage" value="Refresh Data" onclick="location.href = '<?=$Domain?>unitstatus.php";/>

但页面上的所有 .gif 图像都不会重新加载。有什么方法可以让它们在点击按钮时重新加载?

<img src="images/10frame.gif";>

以上是页面重新加载时不重新加载的图片。 .gif 图像停留在最后一帧,而不是从开始帧开始。

【问题讨论】:

  • 你的脚本上传了新的gif图片,刷新后没有更新?
  • “页面上的 .gif 图像不会重新加载” 到底是什么意思?请给我们看一个 JSFiddle
  • 我假设这是一个动画 gif,当页面加载时,gif 不是从头开始的。尝试在 src 末尾添加一个随机数:即&lt;img src="images/10frame.gif?&lt;?PHP echo uniqid; ?&gt;"&gt;。这将绕过浏览器缓存图像。
  • 我为我认为@robbert 想要表达的内容编写了代码。
  • @EisaAdil 你活该。

标签: php html image reload


【解决方案1】:

上面的答案有效,但过于复杂。只需使用此代码即可解决问题

<img src="images/10frame.gif?<?PHP echo uniqid(); ?>">

这将在图片的 url 末尾添加一个查询字符串,并绕过浏览器的任何缓存。

【讨论】:

  • 但是点击一个按钮是如何工作的呢?我的意思是,你需要使用 AJAX,对吧?
  • 按钮重新加载页面。每次页面重新加载时,都需要绕过浏览器缓存重新加载图像。
  • 太棒了!这是我在考虑解决方案时首先想到的。我以为我们无法重新加载页面。这就是我写JS代码的原因。哈哈。 ;)
【解决方案2】:
<input type="button" name="reloadPage" id="reloadPage" value="Refresh Data"/>

<script>
$( "button" ).click(function() {
    unix = Math.round(+new Date()/1000);
    $('img').attr('href') = img.attr('href') + '?' + unix; //put question mark after the img links and after that writes a unique number
});
</script>

上面的代码应该将 href 链接更改为动态链接。那就是img/10frame.png 会变成img/10frame.png?2002344

正如罗伯特所说——

这将绕过浏览器缓存图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-21
    • 2020-08-23
    • 2023-03-31
    • 2014-02-14
    • 1970-01-01
    • 2013-10-26
    • 2019-05-17
    • 1970-01-01
    相关资源
    最近更新 更多