PDA

View Full Version : Auto resize images in showthread


Jalo
13 Jun 2009, 00:53
Hi all,

I was looking for an easy way to resize too large images and signatures in posts but most of the mods I looked at were just not simple enough. I didn't want any links or any other fancy stuff just smaller images.

This is how I did it:

Go to your control panel and open Styles & Templates, select your style and select Edit templates from the menu. In the left box scroll down to Show thread templates and double click. Double click on SHOWTHREAD.

Find:

</head>

Before add:

<script language="javascript" type="text/javascript">
<!--
function resize_images()
{
for (i = 0; i < document.images.length; i++)
{
while ( !document.images[i].complete )
{
break;
}
if ( document.images[i].width > 480 )
{
document.images[i].width = 480;
}
}
}
//-->
</script>

Find:

<body onload="$onload">

Replace with:

<body onLoad="resize_images()">

Safe and reload and check your forum to see if images are being resized.

You can change the '480' to your desired width.

This resizes all the images in showthread so if you have a 728x90 image banner or huge logo it also gets resized. Google 728x90 text ads and flash banners do not get resized.

I checked with Firefox, Safari and IE8.

If you do not want to remove the '$onload' from the code you can try:

<body onLoad="$onload; resize_images()">

Jalo

Sirb13
25 Jun 2009, 16:36
Does this give the viewer the option to see the image in full size?\
thanks.

rigodiaz
31 Aug 2009, 23:32
Thank you.

brav0
29 Sep 2009, 12:48
very nice

thanks

cortinator
28 Nov 2009, 08:20
Using this for vB 4
Do everything as stated above, but instead of finding and replacing the code above, you MUST find this code instead:

<body>

Then you could replace it with what it says above. That's basically the only difference.

6piston
11 Jan 2010, 12:02
hi jalo and everyone, this doesn't work with well Google Chrome

on FF, IE it's perfect. but on Chrome, the images always load halfway and gets resized. so you only get to see half the image

is there anyway to adjust the code? i am using it on the VBA's template - adv_portal

you can see the results here: http://www.zerotohundred.com/newforums/cmps_index.php?page=hometestnew


here is my code

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]" xmlns="http://www.w3.org/1999/xhtml">
<head>
<if condition="$pages['name'] == 'home'">
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
</if>

<title>$vboptions[hometitle] <if condition="$pagetitle">- $pagetitle</if></title>

$headinclude

<script language="javascript" type="text/javascript">
<!--
function resize_images()
{
for (i = 0; i < document.images.length; i++)
{
while ( !document.images[i].complete )
{
break;
}
if ( document.images[i].width > 300 )
{
document.images[i].width = 300;
}
}
}
//-->
</script>

</head>

<body onLoad="resize_images()">

$header

$navbar

<if condition="$show['customizepagelink']">
<div align="$stylevar[right]" style="padding-top: $stylevar[cellpadding]px; padding-bottom: $stylevar[cellpadding]px">
<if condition="$show['customizepage']">
[<a href="javascript: reset_cmps_layout($pages[pageid])">$vbphrase[reset_layout]</a>]
[<a href="$show[customizepagelink]">$vbphrase[exit_customization_mode]</a>]
<else />
[<a href="$show[customizepagelink]">$vbphrase[customize_this_page]</a>]
</if>
</div>
</if>

<table align="center" class="page" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<if condition="$show['left_column']">
<td width="$vba_style[portal_leftcolwidth]"<if condition="$show['center_column'] OR $show['right_column']"> style="padding-$stylevar[right]: $vba_style[portal_colspacing]px"</if>>
$home[leftblocks]
</td>
</if>
<if condition="$show['center_column']">
<td valign="top">
$home[centerblocks]
</td>
</if>
<if condition="$show['right_column']">
<td valign="top" width="$vba_style[portal_rightcolwidth]"<if condition="$show['center_column'] OR $show['left_column']"> style="padding-$stylevar[left]: $vba_style[portal_colspacing]px"</if>>
$home[rightblocks]
</td>
</if>
</tr>
</table>

$footer

</body>
</html>

--------------- Added 1263214014 at 1263214014 ---------------

guys, it's alright, i tried another script instead

thanks!