Тема: [Хак] Простой resize картинок на лету
Доброго времени суток.
Хотел бы поделится, не знаю даже как назвать, хаком наверно.
Задача: Автоматический подгон изображения, которое вставляется в пост. Не заливается на хостинг, так как место и так мало, а просто вставляется скажем с того же радикала.
Решение:
1. Открываем /include/template/main.php и перед
</head>вставляем этот код
<script type="text/javascript">
var maxWidth = 505;
function scaleImage(im) {
if (typeof im.naturalWidth == 'undefined') im.naturalWidth = im.width;
if (im.naturalWidth > maxWidth) {
im.width = maxWidth;
im.style.maxWidth = im.naturalWidth + 'px';
im.className = 'resized';
}
}
</script>2. Заменяем число 505 на свою максимальную ширину картинки.
3. Открываем
/include/parser.phpи на 632 линии, где написано
$img_tag = '<span class="postimg"><img src="'.$url.'" alt="'.forum_htmlencode($alt).'" /></span>';перед тегом alt добавляем
onload="scaleImage(this);"получится вот так
$img_tag = '<span class="postimg"><img src="'.$url.'" onload="scaleImage(this);" alt="'.forum_htmlencode($alt).'" /></span>';Теперь вы и ваши посетители, можете вставлять на форум картинки любого размера и они не будут вылезать за пределы заданной вами ширины.
Спасибо за внимание, надеюсь кому-то пригодится ![]()