我想在圖像上傳之前顯示圖像預覽。我發現了一個適用於ie6和firefox的部分解決方案,並且尚未在ie7或ie8中對其進行測試。但我想要一個在safari中工作的解決方案,即ie7和ie8。這是通過將IE6和火狐的解決方案所獲得的解決方案:如何在上傳之前在各種瀏覽器中預覽圖像
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個瀏覽器中進行圖像預覽,我會很高興。如果它不是,那麼是唯一的選擇有兩種形式與另一種形式的圖像上傳部分?
事實並非如此。新的HTML5 File API完全適用於此目的。它完全保護文件路徑,你必須通過FileReader讀取所有數據。 – 2011-04-12 18:33:57
注意這個答案是3歲。 – Ash 2012-12-14 18:57:21