使用Javascript:
function atualiza() {
document.getElementById('badge').innerHTML = location.reload();
}
我知道“location.reload()”会刷新页面......
HTML:
<img id="badge" src="<?php echo $cms_url; ?>/imaging/badge.php?badge=$mygroup['badge']; ?>" />
我需要刷新src=""
或<img />
而不刷新页面。
答案 0 :(得分:10)
请参阅:Updating a picture without page reload
document.getElementById('yourimage').src = "url/of/image.jpg?random="+new Date().getTime();
无论如何,这被复制了该线程,显然它应该重新加载图像。
答案 1 :(得分:10)
将您的img
标记更改为:
<img id="badge" src="$cms_url/imaging/badge.php?badge=$mygroup['badge']; ?>">/imaging/badge.php?badge=<?php echo $mygroup['badge']; ?>" />
然后,您可以使用以下代码更改图像源,只需单击按钮,锚点或其他任何内容:
document.getElementById("badge").src="new image src here";
您也可以使用jQuery:
$("#badge").attr("src", "new image src here");
答案 2 :(得分:2)
也许我写的javascript对于读这个问题的人来说很有用。它为每个图像添加时间戳以打破浏览器缓存:
<script type="text/javascript">
function replaceSrc()
{
var images = document.getElementsByTagName('img');
for(var i = 0; i < images.length; i++)
{
var dt = new Date();
var img = images[i];
if(img.src.length >= 0 & img.id != 'idImageNoTimestamp')
{
img.src = img.src + "?" + dt.getTime();
//javascript:alert(document.lastModified);
}
}
}
replaceSrc();
</script>
您可以使用id属性排除某些图片。我用它来排除谷歌静态地图图像。如果您不需要,请删除:
& img.id != 'idImageNoTimestamp'
答案 3 :(得分:1)
对于AngularJs,我们可以直接在html文件中添加如下:
<强> HTML 强>
<div ng-controller="MyCtrl1"><div ng-repeat="img in images"> <img ng-src="{{img.image}}?_={{generatingNewDate}}"></div></div>
控制:
$scope.generatingNewDate = new Date().getTime();
您可以查看一下:https://jsfiddle.net/k614L8tt/
答案 4 :(得分:0)
为什么需要这样做?
<img id="badge" src="<img id="badge" src="$cms_url/imaging/badge.php?badge=$mygroup['badge']; ?>">/imaging/badge.php?badge=<?php echo $mygroup['badge']; ?>">
当你这样做时
<img id="badge" src="<?php echo $cms_url. '/imaging/badge.php?badge='.$mygroup['badge']; ?>">