|
|
|
| g=Math.round(Math.random()*200000) +1
gg=400000+g
file="http://www.irk.kp.ru/upimg/38fd25d0148fde2be07a6b7b4f6431b14dc 82cf0/"+gg+".jpg";
var image = new Image();
image.onload = function() {
dw= this.width;
dh = this.height;
alert(dw+"_"+dh);
}
image.src = file;
----------------------------------
значения this.width и this.height вроде найдены, но в конструкции типа
if ((this.width>0)&(this.height>0)) {
.....
}
они не работают
кто знает как решить задачу, если картинка достаточно большая, тогда грузим ее, иначе ищем следующую | |
|
|
|
|
|
|
|
для: anikey99
(31.03.2009 в 11:38)
| |
if ((this.width>0)&&(this.height>0)) {
.....
}
|
может так? ) | |
|
|
|
|
|
|
|
для: ddhvvn
(31.03.2009 в 12:06)
| | Ошибку синтаксиса вам указали выше.
А принципиальная ваша ошибка в том, что вы неверно представляете возможности Javascript'a.
Вашу задачу - в том виде, в котором вы её сформулировали - решить НЕЛЬЗЯ.
Javascript работает только с теми данными, которые УЖЕ загружены в браузер.
Вы сможете - ЗАГРУЗИТЬ картинку #1 в браузер и ПОСЛЕ ПОЛНОЙ ЕЁ ЗАГРУЗКИ узнать её размеры. Что вы и делаете, когда пишете
image.src = file;//с этой команды начинается загрузка картинки в браузер
|
Если эти размеры вас не устроят, то вы можете ЗАГРУЗИТЬ картинку #2 и снова узнать её размеры.
И так - до бесконечности.
Заранее (ДО ПОЛНОЙ загрузки в браузер) вы ничего про картинку с помощью Javascript'а узнать не сможете.
Теперь подумайте немного и решите - НУЖЕН ли вам ЭТОТ скрипт-то? :-)
Или переформулируйте задачу.
Вместо "если картинка достаточно большая, тогда грузим ее, иначе ищем следующую" пишите "буду грузить в браузер БЕСКОНЕЧОЕ число байтов, покуда пользователь со страницы не уйдёт! Или покуда не загружу именно то, что мне надо!" | |
|
|
|