j헤드 404인 경우 이미지를 숨기기 위해 이미지가 존재하는지 확인하는 쿼리
php를 사용하여 db에서 100장의 사진 url을 가져와서 페이지에 표시하지만 일부 사진은 더 이상 존재하지 않을 수 있습니다.사진 URL이 실패하면(404) jquery를 사용하여 이미지를 숨기고 오류 사진을 표시하지 않습니다.이것은 제 코드인데 작동하지 않습니다.
html
<div id=test>
<img src="http://test.com/test1.jpg" />
<img src=" http://test.com/test2.jpg" />
<img src="http://test.com/test3.jpg" />
</div>
농담의
var pic_list = jQuery("#test img");
pic_list.load(function () {
var http = new XMLHttpRequest();
http.open('HEAD', pic_list, false);
http.send();
if (http.status == 404) {
pic_list.hide();
} else {
pic_list.show();
}
});
사용할 수 있는 경우 여러 Ajax 요청을 보낼 필요가 없습니다.onerror
사건의
관련 jQuery/Javascript를 확인하여 파손된 이미지 포스트를 대체합니다.
고객의 요구사항에 맞게 조정:
HTML:
<img src="someimage.png" onerror="imgError(this);" />
JS:
function imgError(image){
image.style.display = 'none';
}
또는 jQuery를 사용한 경우:
function imgError(image){
$(image).hide();
}
저는 보통 HTML에서 인라인 JS를 사용하지 않으며 핸들러를 사용하는 것도 고려했습니다.
$('#test img').error(function() {
$(this).hide();
});
그러나 에러 이벤트가 발생한 후 핸들러 어태치가 실행되면 위의 내용은 작동하지 않으므로 첫 번째 해결책을 제안합니다.
의 두 번째 매개 변수open
메서드는 HTML 요소의 배열이 아닌 URL입니다.
그래서 당신은 요소들을 반복하고, 그것들을 얻을 수 있습니다.src
사용하여 속성을 지정하고 메서드에 전달합니다.
이미 로드된 이미지가 있으므로 각 이미지에 대해 다른 요청을 수행하는 대신 다른 질문에서 설명한 방법을 사용할 수 있습니다.사용자가 타사 도메인을 차단하고 있는지 확인
이미지의 높이/폭이 고정되어 있지 않으면 이미지가 존재하지 않음을 나타내는 작은 아이콘이 나타납니다.이미지 크기를 사용하여 이미지가 로드되었는지 여부를 확인할 수 있습니다.
언급URL : https://stackoverflow.com/questions/12994419/jquery-to-check-image-exists-if-head-404-than-hide-it
'programing' 카테고리의 다른 글
Android TextView에서 줄 바꿈을 추가하는 방법은 무엇입니까? (0) | 2023.08.16 |
---|---|
런타임 중에 asp.net 웹 응용 프로그램이 디버그 모드에 있는지 확인하는 선호하는 방법은 무엇입니까? (0) | 2023.08.16 |
webpack angular2 app의 node_modules에서 CSS를 가져오는 방법 (0) | 2023.08.16 |
고정/고정 왼쪽 열과 스크롤 가능한 본문으로 HTML 테이블을 만들려면 어떻게 해야 합니까? (0) | 2023.08.16 |
핵심 데이터 기본 키 (0) | 2023.08.16 |