Как определить РЕАЛЬНЫЙ размер изображения на JavaScript

dimm_mds

Новичок
Как определить РЕАЛЬНЫЙ размер изображения на JavaScript

Всем привет!
Собственно сабж.
Только одни нюанс. Есть картинка предположим РЕАЛЬНЫМ размером 100х100 пикс., в свойствах я ей указывааю размер 50х50 (<img src="..." height=50 width=50 />).
Таким образом, на страничке отображается рисунок размером 50х50, хотя реальный 100х100.
Так вот, как определить на javascript именно эти 100х100? ф-ия getHeight() и значение height (для высоты соответственно) возврящает занчение 50, т.к. берет их со стиля. А как реальные размеры узнать я не нашел...

Может кто подскажет?

П.С. Когда я стиль сбрасываю(ф-ия removeProperties('width','height')) - я могу узнать реальный размер, но тогда и сам рисунок на страничке изменяется до реальных размеров.

П.С.2 Решение на PHP не предлагать, все должно работать на стороне клиента без участия сервера.

Заранее благодарен!
 
Простое решение влоб.
var im = new Image();
im.src = getElementById(...).src;
alert(im.width);
Изза кеширования грузить еще раз вроде не должно.
 
Тут с кешем кто его знает, вдруг страничка закрыта для кеширования? А если это целая галерея....

Делаю вот так (применяю mootools)
w = $('myfoto').width;
h = $('myfoto').height;
var new_img = $('myfoto').clone();
new_img.removeProperties('width','height');
alert (new_img.height);

Но я не уверен, что это правильный подход. Просто сомневаюсь, что в javascript не предусмотрена ф-ия для получения реального размера....
 
Ну у меня вот в Фаерфоксе сработало - document.getElementById('img12').naturalHeight

Не уверен что сработает в других. Тебе надо - сам тести :)
 
dimagolov
вроде недолго.

Не знаю где там ерунда, но оба мои решения вроде работают, в указанных мною ограничениях.

А вот твой пост возможно слегка не в тему, ибо телепатия. Причем тут загрузка картинки? ТС нигде не говорит, что данный скрипт должен работать при загрузке страницы.
 
Adelf, если картинки уже загружены, то нет проблем создавать new Image() и там смотреть width/height (возьмется из кеша). НО картинка ДОЛЖНА быть загружена, а это в общем случае не очевидно даже после загрузки всей страницы. Поэтому этот факт нужно или проверять, или смотреть width/height ПОСЛЕ того, как убедились, что картинка загрузилась. Поэтому моя ссылка как раз в тему. А вот naturalHeight это ерунда, так как для не ФФ потребуется костыль, который по факту смотрит те же width/height после загрузки картинки. Причем при таких раскладах совершенно лишний.

ут с кешем кто его знает, вдруг страничка закрыта для кеширования? А если это целая галерея....
dimm_mds, ЕМНИП, то картинки падают в кеш браузера при любых раскладах (при не уникальности ссылки на картинку), и беспокоится о таком не стоит. Если очень нечего делать, то попробуй добиться такого поведения хотья бы от отдного браузера, а потом уже думай как это обойти.
 
Сверху