Ответ LeassTaTT хорошо работает в «стандартных» браузерах, таких как FF и Chrome.Решение для IE существует, но выглядит иначе.Вот описание кросс-браузерного решения:
В HTML нам нужны два элемента предварительного просмотра: img для стандартных браузеров и div для IE
HTML:
<img id="preview"
src=""
alt=""
style="display:none; max-width: 160px; max-height: 120px; border: none;"/>
<div id="preview_ie"></div>
В CSSукажите следующую специфическую для IE вещь:
CSS:
#preview_ie {
FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)
}
В HTML мы включаем стандартные и специфичные для IE JavaScript:
<script type="text/javascript">
{% include "pic_preview.js" %}
</script>
<!--[if gte IE 7]>
<script type="text/javascript">
{% include "pic_preview_ie.js" %}
</script>
pic_preview.js
- это Javascript из ответа LeassTaTT.Замените $('#blah')
на $('#preview')
и добавьте $('#preview').show()
Теперь специфичный для IE Javascript (pic_preview_ie.js):
function readURL (imgFile) {
var newPreview = document.getElementById('preview_ie');
newPreview.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgFile.value;
newPreview.style.width = '160px';
newPreview.style.height = '120px';
}
То естьРаботает в IE7, IE8, FF и Chrome.Пожалуйста, проверьте IE9 и сообщите.Идея предварительного просмотра IE была найдена здесь: http://forums.asp.net/t/1320559.aspx
http://msdn.microsoft.com/en-us/library/ms532969(v=vs.85).aspx