重新加载图像而不刷新页面

时间:2014-01-24 01:42:29

标签: javascript jquery ajax refresh reload

使用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 />而不刷新页面。

5 个答案:

答案 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']; ?>">