AJAX를 사용해야하는 경우 ...
onload 핸들러가 올바른 선택이 아닌 적절한 유스 케이스가있었습니다. 내 경우에는 자바 스크립트를 통해 인쇄 할 때. 따라서 실제로 AJAX 스타일을 사용하는 두 가지 옵션이 있습니다.
해결책 1
Base64 이미지 데이터 및 REST 이미지 서비스를 사용하십시오. 자체 웹 서비스가있는 경우 이미지를 Base64 인코딩으로 제공하는 JSP / PHP REST 스크립트를 추가 할 수 있습니다. 이제 어떻게 유용합니까? 이미지 인코딩에 대한 멋진 새 구문을 발견했습니다.
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhE..."/>
따라서 Ajax를 사용하여 Image Base64 데이터를로드 한 다음 완료되면 Base64 데이터 문자열을 이미지에 빌드합니다! 큰 재미 :). 이미지 인코딩 에이 사이트 http://www.freeformatter.com/base64-encoder.html 을 사용하는 것이 좋습니다 .
$.ajax({
url : 'BASE64_IMAGE_REST_URL',
processData : false,
}).always(function(b64data){
$("#IMAGE_ID").attr("src", "data:image/png;base64,"+b64data);
});
해결책 2 :
캐시를 사용하도록 브라우저를 속입니다. 리소스가 브라우저 캐시에있을 때 멋진 fadeIn ()을 제공합니다.
var url = 'IMAGE_URL';
$.ajax({
url : url,
cache: true,
processData : false,
}).always(function(){
$("#IMAGE_ID").attr("src", url).fadeIn();
});
그러나 두 방법 모두 단점이 있습니다. 첫 번째 방법은 최신 브라우저에서만 작동합니다. 두 번째는 성능 결함이 있으며 캐시 사용 방법에 대한 가정에 의존합니다.
건배, 의지