Показать сообщение отдельно
Старый 11.03.2005, 17:07     # 1
Sinker
Junior Member
 
Регистрация: 10.07.2003
Адрес: г. Королев, Россия
Сообщения: 188

Sinker Известность не заставит себя ждатьSinker Известность не заставит себя ждать
Предпросмотр картинки перед загрузкой (Opera vs IE)

Поиск юзал, ничего похожего не нашел, хотя помню, что с год назад задавал тут похожий вопрос...

Есть <form... , в ней <input type=file...
Человек выбирает файл на своем компе, после этого по onclick или onchange (в зависимости от браузера) нужно отобразить эту картинку (если это картинка).
Понял как это сделать в IE, почти всегда работает в Mozilla, но вот чтобы это заработало в Opera.... Помогите, PLZ.
Сейчас это выглядит вот так:
Код:
my_image_src=document.forms["f"].elements["fileid"].value;
if (isMozilla)
	                        {
	                            //Mozilla
	                            my_image_src = my_image_src.replace(/\\/g, '/');
	                            my_image_src = my_image_src.replace(/:/, '|');
	                            my_image_src = "file:///" + my_image_src;
	                            my_image[id].src=my_image_src;
	                        }
	                    else if (isOpera) 
	                        {
	                            //opera
	                            my_image_src = my_image_src.replace(/\\/g, '/');
	                            my_image_src = "file://localhost/" + my_image_src;
	                            my_image[id].src=my_image_src;
	                        }
	                    else
	                        {
	                            //IE
	                            my_image_src = unescape(my_image_src);
	                            my_image_src = my_image_src.replace(/\+/g, '%20');
	                            my_image[id].src=my_image_src;
	                        }
Самое интересное, что если посмотреть свойства этой картинки, то урл будет иметь вид file://localhost/d:/foto/002.jpg. Так вот если открыть в опере новое окно и вставить туда этот урл, то картинка откроется нормально. После перехода в первое окно - картинка будет показана и там. Т.е. я так понимаю, что описанный код срабатывает, когда картинка уже есть в кеше оперы... Поправьте меня, PLZ.
Sinker вне форума