检查是否可以加载图像

时间:2016-10-25 12:12:11

标签: javascript jquery html

我想确定可以从服务器获取图像的天气。生成文件服务器的URL。我决定检查图像的自然高度。当我重新加载页面时,此代码剪切工作,但当我第一次尝试获取图像时,它不起作用。这是时间问题还是这段代码完全错了?

<p id="buildingPh"></p>

<script>

    $("#buildingPh").html("<img id='gebaeudeBild' width='100%' src='[image/url]'></img>" );

    $( document ).ready(function() {
        if (document.getElementById("gebaeudeBild").naturalHeight == 0) {
            $("#buildingPh").html("No image found.");
        }
    });

</script>

这是整个脚本。我正在使用AEM,因此不再需要代码

2 个答案:

答案 0 :(得分:2)

同意@ lee2808,但我认为Image load更适合处理图像错误事件..

    $("#buildingPh").html("<img onerror='error()'  id='gebaeudeBild' width='100%' src='[image/url]'></img>" );

  function error() {
       $("#buildingPh").html("No image found.");    
        }; 

答案 1 :(得分:0)

由于您正在使用Jquery,请尝试将该函数包装在jquery的包装器中以备文档:

$(function () {

    if (document.getElementById("gebaeudeBild").naturalHeight == 0) {
        $("#buildingPh").html("No image found.");
    }
});

这只是一种预感,因为问题中没有提供太多细节。如果第一次获取图片时它不起作用,这似乎是一个异步问题。