1 (25.12.2010 04:53 отредактировано GAV)

Тема: [Хак] Простой resize картинок на лету

Доброго времени суток.  smile Хотел бы поделится, не знаю даже как назвать, хаком наверно.

Задача: Автоматический подгон изображения, которое вставляется в пост. Не заливается на хостинг, так как место и так мало, а просто вставляется скажем с того же радикала.

Решение:
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>';

Теперь вы и ваши посетители, можете вставлять на форум картинки любого размера и они не будут вылезать за пределы заданной вами ширины.

Спасибо за внимание, надеюсь кому-то пригодится  smile

Сайт GAV

Поделиться

2

Re: [Хак] Простой resize картинок на лету

а что хуками нельзя?

Поделиться