내 웹 프로젝트에서 다른 HTML 페이지와 _Layout 페이지가 있습니다. 이 레이아웃 페이지는 다음과 같이 사용자의 프로필 사진이 표시이중 이미지 로딩을 어떻게 피할 수 있습니까?
<img src="~/Path/avatar.png" id="avatar">
을 그리고 나는 한 가지를 구현 : 사용자가 지금까지 프로필 사진을 업로드하지 않은 경우, _Layout 페이지는 항상 표준 avatar.png
를 표시합니다. 현재 사용자가 이미 이름을 반환 HasAvatar()
프로필 사진, 컨트롤러 방법을 업로드 한 경우
$.ajax({
type: 'POST',
url: '/Account/HasAvatar/',
success:
function (data) { //data - it's the name of the image file
console.log(data);
if (data == null)
return;
$("#avatar").attr("src", window.location.protocol+"//"+window.location.host+"/Path/" + data);
}
})
다음 JQuery와는 이미에 표준 <img src="">
이미지를 존재 변경 : 그는 자신의 아바타를 업로드 한 경우 그렇지, 내가 다음에 수행. 하지만 여기에는 문제가 있습니다. 사용자가 페이지를로드하면 먼저 표준 아바타를 볼 수 있으며 현재 사용자의 이미지가로드 될 때만 (0.2 초 안에) 표준 아바타를 볼 수 있습니다. 이 이중 이미지 로딩을 어떻게 피할 수 있습니까? 어떤 아이디어?
감사합니다. 그게 정확히 내가 원하는거야! –
일부 오래된 브라우저는 여전히 표시되지는 않지만 자리 표시 자 아바타를로드 할 수 있습니다. 대부분의 새로운 브라우저는 이미지를 처음에로드해서는 안되는지를 결정하기 위해'display : none; '을 사용할 것입니다. –