JavaScript Image onload没有实际的src属性

时间:2018-01-26 10:34:32

标签: javascript image onload src

我有一个简单的例子:

<head>
    <script>
        //
        function onLoadImgView() {
            //
            console.log(this.currentSrc);
        }

        //
        var i = 0;

        //
        document.addEventListener('DOMContentLoaded', function(event) {
            //
            document.getElementById('imgElement').src = "img.jpg?" + i;
            //
            document.getElementById('imgElement').onload = onLoadImgView;
        });
    </script>
</head>

<body>
    <img id="imgElement" src="img.jpg" width="100" height="100" alt="" />
</body>

</html>

我试图获得实际的Image src属性,但是,我在日志中看到它:

  

“sitename.com/img.jpg?0”

有时,我也得到:

  

“sitename.com/img.jpg?0”

     

“sitename.com/img.jpg?0”

但我怎样才能获得真实的日志?

因为它应该是这样的:

  

“sitename.com/img.jpg”

     

“sitename.com/img.jpg?0”

为什么srccurrentSrc在onload中没有收到可以加载的有效文件名?

这是我的问题。感谢。

P上。 S.我明白我可以在DOMContentLoaded函数中保存src,然后在onload中返回它,但这也不正确,因为有时加载“img.jpg”会被跳过,并立即加载“img.jpg?0”。

1 个答案:

答案 0 :(得分:0)

尝试使用窗口事件侦听器和load事件。像这样:

&#13;
&#13;
var image = document.getElementById('imgElement');
var i = 0;

console.log(image.src);

window.addEventListener('load', function() {
  image.src = image.src + '?' + i;
  console.log(image.src);
});
&#13;
<img id="imgElement" width="300px" src="https://upload.wikimedia.org/wikipedia/commons/b/b0/Henri-Edmond_Cross_-_The_Evening_Air_-_Google_Art_Project.jpg">
&#13;
&#13;
&#13;