Программирование > JavaScript & JScript
Время для загрузки изображения (локально)
CGVictor:
ashes
IE6: не работает.
По существу вопроса: не срабатывает из-за того, что браузер не успевает загрузить изображение.
Есть вариант вешать обработку изображения на img.onLoad
Пользователь не "на своём компьютере смотрит свой же файл", а чужой скрипт читает и обрабатывает файл с его локального диска (пусть и выбранный). Как бы то ни было, в IE6 с дефолтовой безопасностью у меня не работает.
ashes:
c img.onLoad результат тот же (по-моему, это событие означает начало загрузки, а не конец).
Потому что я пишу:
img.onLoad = alert(img.complete); и периодически вижу false...
(свойство complete как раз показывает, завершена ли загрузка)
Насчёт безопасности - что же делать... (Хотя я только что поставила безопасность на дефолтовый уровень, и всё продолжает работать). Значит, те, у кого безопасность достаточно высокая, не увидят предпросмотра. Другого выхода нет. Или есть?
А в чём выражается "не работает"? Он хотя бы имя файла подписывает сверху и путь в текстовом поле снизу? (навряд ли...)
Спасибо, что уделяете мне своё время.
CGVictor:
ashes
Наверху имя файла пишет. А загружать - не загружает.
Можно так:
while(img.complete) {
//т.е. пустой цикл до загрузки
}
Но ругнется, скажет "исполнение скрипта может занять время"
onLoad - событие, срабатывающее после полной загрузки элемента
ashes:
Значит всё-таки дело не в безопасности... И thumbnail создаётся и отображается, только с нулевой высотой...
Если событие onLoad срабатывает при полной загрузке, почему тогда img.onLoad = alert(img.complete); иногда выводит false?
while(img.complete == false) - не только ругнётся, но ещё и начнёт подвисать, а загрузить - всё равно не загрузит :(
Пока помогает только вызов alert() там, где определяется высота:
img_height = img.getAttribute(\'height\');
alert(img_height); //этот скорее всего выдаст 0
img_height = img.getAttribute(\'height\');
alert(img_height); //а этот - правильную высоту
virka:
Если не ошибаюсь, мне иногда в таких случаях помогал цикл
var img_height=0;
while(img_height==0)
{img_height=img.getAttribute(\'height\');}
Навигация
Перейти к полной версии