복붙노트

[JQUERY] 이미지가 주어진 URL에 존재하는지 확인하는 방법?

JQUERY

이미지가 주어진 URL에 존재하는지 확인하는 방법?

해결법


  1. 1.이 같은 오류 처리기를 사용하여

    이 같은 오류 처리기를 사용하여

    $('#image_id').error(function() {
      alert('Image does not exist !!');
    });
    

    (가 제공된 URL에 존재하지 않기 때문에, 예를 들어) 이미지를로드 할 수없는 경우 경고가 표시됩니다

    최신 정보:

    내가 사용하는 생각 :

    $.ajax({url:'somefile.dat',type:'HEAD',error:do_something});
    

    404를 확인하기에 충분하다.

    더 읽기 :

    업데이트 2 :

    코드는 다음과 같이해야합니다 :

    $(this).error(function() {
      alert('Image does not exist !!');
    });
    

    원격 파일 어쨌든 존재하는 경우 해당 없음이 라인에 대한 필요와 확인되지 않습니다 :

    var imgcheck = imgsrc.width;    
    
    if (imgcheck==0) {
      alert("You have a zero size image");
    } else { 
      //execute the rest of code here 
    }
    

  2. 2.

    $.ajax({
        url:'http://www.example.com/somefile.ext',
        type:'HEAD',
        error: function(){
                //do something depressing
        },
        success: function(){
                //do something cheerful :)
        }
    });
    

    에서 : http://www.ambitionlab.com/how-to-check-if-a-file-exists-using-jquery-2010-01-06


  3. 3.그것은 부하 기본 이미지 또는 핸들 오류가 존재 나던 경우

    그것은 부하 기본 이미지 또는 핸들 오류가 존재 나던 경우

    $('img[id$=imgurl]').load(imgurl, function(response, status, xhr) {
        if (status == "error") 
            $(this).attr('src', 'images/DEFAULT.JPG');
        else
            $(this).attr('src', imgurl);
        });
    

  4. 4.

    $('#myImg').safeUrl({wanted:"http://example/nature.png",rm:"/myproject/images/anonym.png"});
    
    $.fn.safeUrl=function(args){
      var that=this;
      if($(that).attr('data-safeurl') && $(that).attr('data-safeurl') === 'found'){
            return that;
      }else{
           $.ajax({
        url:args.wanted,
        type:'HEAD',
        error:
            function(){
                $(that).attr('src',args.rm)
            },
        success:
            function(){
                 $(that).attr('src',args.wanted)
                 $(that).attr('data-safeurl','found');
            }
          });
       }
    
    
     return that;
    };
    

    참고 : RM 수단은 여기에 위험 관리.

    $('#myImg').safeUrl({wanted:"http://example/1.png",rm:"http://example/2.png"})
    .safeUrl({wanted:"http://example/2.png",rm:"http://example/3.png"});
    

  5. 5.여기에서:

    여기에서:

    // when the DOM is ready
    $(function () {
      var img = new Image();
      // wrap our new image in jQuery, then:
      $(img)
        // once the image has loaded, execute this code
        .load(function () {
          // set the image hidden by default    
          $(this).hide();
          // with the holding div #loader, apply:
          $('#loader')
            // remove the loading class (so no background spinner), 
            .removeClass('loading')
            // then insert our image
            .append(this);
          // fade our image in to create a nice effect
          $(this).fadeIn();
        })
        // if there was an error loading the image, react accordingly
        .error(function () {
          // notify the user that the image could not be loaded
        })
        // *finally*, set the src attribute of the new image to our image
        .attr('src', 'images/headshot.jpg');
    });
    

  6. 6.jQuery를 3.0에는 .error 제거. 올바른 구문은 지금

    jQuery를 3.0에는 .error 제거. 올바른 구문은 지금

    $(this).on('error', function(){
        console.log('Image does not exist: ' + this.id); 
    });
    

  7. 7.이미지 생존 확인과 지연로드를 처리하기 위해 나는 jQuery-이를 따라

    이미지 생존 확인과 지연로드를 처리하기 위해 나는 jQuery-이를 따라

    $('[data-src]').each(function() {
      var $image_place_holder_element = $(this);
      var image_url = $(this).data('src');
      $("<div class='hidden-classe' />").load(image_url, function(response, status, xhr) {
        if (!(status == "error")) {
          $image_place_holder_element.removeClass('image-placeholder');
          $image_place_holder_element.attr('src', image_url);
        }
      }).remove();
    });
    

    이유 : 나는 $ image_place_holder_element.load ()이 요소에 대한 응답을 추가 할 예정 방법, 그래서 임의 DIV를 사용하여 제거하고 있다면 그것은 나에게 좋은 솔루션을 보였다. 희망은이 URL 확인과 함께 게으른로드 기능을 구현하려고 사람을 작동합니다.

  8. from https://stackoverflow.com/questions/3381663/how-to-check-if-image-exists-with-given-url by cc-by-sa and MIT license