アップロードする前に画像のプレビューを表示したい。ie6 と Firefox で機能する部分的な解決策を見つけましたが、ie7 または ie8 ではまだテストしていません。しかし、サファリ、ie7、ie8 でも機能するソリューションが必要です。ie6 と firefox のソリューションを組み合わせて得られるソリューションは次のとおりです。
function preview(what) {
if(jQuery.browser.msie) {
document.getElementById("preview-photo").src=what.value;
return;
}
else if(jQuery.browser.safari) {
document.getElementById("preview-photo").src=what.value;
return;
}
document.getElementById("preview-photo").src=what.files[0].getAsDataURL();
// alert(jQuery("#preview-photo").height());
// alert(jQuery("#preview-photo").width());
var h = jQuery("#preview-photo").height();
var w = jQuery("#preview-photo").width();//assuming width is 68, and height is floating
if ((h > 68) || (w > 68)){
if (h > w){
jQuery("#preview-photo").css("height", "68px");
jQuery("#preview-photo").css("width", "auto");
}else {
jQuery("#preview-photo").css("width", "68px");
jQuery("#preview-photo").css("height", "auto");
}
}
}
getAsDataURL() 部分は firefox で動作し、「src=what.value」部分は ie6 で動作しますが、safari では何が動作し、「src=what.value」は ie7 と ie8 でも動作しますか? そうでない場合、そこでも機能する解決策はありますか?5~6ブラウザで画像プレビューができるようになれば嬉しいです。そうでない場合、別のフォームの一部に画像をアップロードする 2 つのフォームを持つ唯一のオプションですか?