Изменение размеров картинки через скрипт
Помогите пожалуйста, у меня на сайте в комментариях можно вставлять картинки тэгами со ссылкой на сервисы типа radikal.ru, а проблема в том что любой может запостить как безобидный аватор, так и огромную 5мегапиксельную фотку, с последствиями для дизайна и чтоб этого не было, я написал такой несложный ява-скрипт:
Код: <img border="0" id="i1217675751" onload=" var s=getElementById('i1217675751'); var w=s.width; var h=s.height; var wr=screen.width-590; var hr=screen.height-590; if(wr<435){wr=435;} if(w>=h){ if(w>wr){ this.width=wr;this.height=h/(w/wr); } } if(w<h){ if(h>hr){ this.height=hr;this.width=w/(h/hr);} }" src="1.jpg"> Так вот в ИЕ 6.0, firefoxе проблем никаких, а вот в опере он почемуто не работает, даже через функцию alert пробил значения переменных w и h - ослик с лисом выдают реальные размеры картинки, а опера возвращает нули. Что нужно исправить? |
Изменение размера картинкиможно скачать отсюда.
|
Цитата:
|
Что-то типо такого:
<script type="text/javascript">
window.onload = function(){
var img = document.getElementById('div').getElementsByTagName('img'), i = img.length;
while(i--){
var computed = window.getComputedStyle ? getComputedStyle(img[i], null) : img[i].currentStyle;
img[i].style.width = parseInt(computed.width) >= 100 ? '100px' :'';
}
};
</script>
<div id="div">
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
</div>
или такого:
<script type="text/javascript">
window.onload = function(){
var img = document.getElementById('div').getElementsByTagName('img'), i = img.length;
while(i--){
img[i].style.width = img[i].offsetWidth >= 100 ? '100px' : '';
}
};
</script>
<div id="div">
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
</div>
|
на всякий случай )))
Цитата:
так как у img есть свойство width, достаточно проверить его. Пример:
<script type="text/javascript">
window.onload = function () {
for (var a = document.getElementById("div").getElementsByTagName("img"), b = a.length; b--;)
a[b].width >= 100 && (a[b].width = "100")
};
</script>
<div id="div">
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
</div>
|
| Часовой пояс GMT +3, время: 20:31. |