私のWebプロジェクトでは、別のhtmlページと_Layoutページがあります。 このレイアウトページには、このようなユーザのプロフィールの写真が表示さ:ダブル画像の読み込みをエスケープする方法は?
<img src="~/Path/avatar.png" id="avatar">
をそして私は一つのことを実現します。ユーザーがこれまでにプロフィールの写真をアップロードしていない場合は、_layoutページは常に標準avatar.png
が表示されます。現在のユーザーが既にプロフィールの写真は、その名前を返し、その後、jqueryのは、すでに存在していた画像に標準<img src="">
を変更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);
}
})
:彼は自分のアバターをアップロードする場合はそうでなければ、私は次の操作を行います。しかし、ここに私は問題があります。ユーザーがページを読み込むと、最初に標準のアバターが表示され、現在のユーザーのイメージが読み込まれます(0.2秒)。この二重イメージの読み込みをエスケープする方法は?何か案は?
ありがとう!それはまさに私が求めていることです! –
古いブラウザの中にはプレースホルダのアバタをロードしているものがあるかもしれないことに注意してください(表示しません)。しかし、ほとんどの新しいブラウザでは、画像が最初に読み込まれないようにするために、おそらく 'display:none; 'を使います。 –