2011-07-01 2 views
2

이미지가 없거나 이미지가로드되지 않는 경우이 메시지가 웹 속성에 표시되지 않도록 할 수있는 방법이 있습니까? 이미지를로드하지 못하면 "리소스를로드하지 못했습니다 : 서버가 403 (금지됨) 상태로 응답했습니다"라는 메시지가 표시됩니다.

자원을로드하지 못했습니다 :

<img src="/path.png" onerror="this.src = '/missing.png'; this.onerror = ''; return true;"/> 
<img src="/path.png" onerror="this.src = '/missing.png'; this.onerror = ''; return false;"/> 

내가 jQuery를에 그것을 시도했습니다 : 서버가 나는이 시도 403 (금지)

의 상태로 반응

$(document).ready(function() { 
    $("img").error(function(event) { 
    $(this).attr("src", "/missing.png"); 
    return false; 
    } 
}); 

이러한 이벤트 핸들러가 액세스하기 전에 메시지가 빨간색으로 출력됩니다. 이 메시지가 나타나지 않도록하는 방법이 없습니까?

$("img").live("error", function() { $(this).attr("src", "/missing.png"); }); 

그래서이없는에 :

적으로는, 내가이 작업을 수행 할 수있을 것

    <img onerror='x'/>
  1. 과 같이 동적으로로드에 일하는 것이 자바 스크립트
  2. 쓰기 인라인 이미지.
+0

왜 중요한가요? – thirtydot

+0

오류를 고려하지 않은 오류가 있음을 알려줍니다. 그것은 응용 프로그램이 부러 보이게합니다. –

+0

음, * 오류입니다 *. 또한 사용자는 Web Inspector를 확인하지 않습니다. 당신은 개발자로서 단순히 오류를 무시할 수 있습니까? – thirtydot

답변

2

불행히도 <img>을 DOM에 추가하기 전에 이미지가 존재하는지 확인해야합니다. 이 체크는 내가 아는 한 서버 측에서 발생해야합니다. 심지어 JQuery/AJAX로이 작업을 시도해도 404 또는 403 오류가 콘솔에 표시됩니다.

관련 문제