как просмотреть изображение перед загрузкой в разных браузерах

Я хочу показать предварительный просмотр изображения до его загрузки. Я нашел частичное решение, которое работает для ie6 и firefox, и еще не проверял его в ie7 или ie8. Но я хочу решение, которое работает в сафари, то есть 7 и 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 браузерах. Если этого не произойдет, то является ли единственной возможностью иметь две формы с частью для загрузки изображения другой формы?

Ответы на вопрос(5)

Ваш ответ на вопрос