PDA

View Full Version : How do I get javascript to work in BBcode?


skepticality
09-28-2007, 09:55 PM
I trying to implement a BB-code that uses java-script, but I can't get it to work.

I wanted to make an [IMG]-tag that restricted the size of the image to a pre-defined width.
Both code-examples works like a charm when I have them in ordinary HTML-files on my computer.

When I insert the first code, weird things happens. When I load the page, the tag does not resize the image to the restricted size, but it displays the image. However, if I enter edit-mode, and then save the post, the images get resized. In my code example below, width is restricted to 500px.


<script type="text/javascript">
function largerThan(a,b)
{
return a>b;
}
</script>

<img src="{param}" onload=if(largerThan(this.width,500)){{this.height =this.height*500/this.width}{this.width=500}};>



The second code that is supposed to manage this diplays nothing at all. No BBcode tags are visible in the post, no photos either.

<script language="javascript">
var url = '{param}';
var maxwidth = 500;

var newImg = new Image();
newImg.src = url;
var width = newImg.width;
if (width > maxwidth){ width=maxwidth; }

document.write('<a href='+url+'><img src='+url+' width='+width+' border=0></a>');

</script>




regards,
Dr. Mabuse
Admin, Skepticality Forum

Dismounted
09-29-2007, 05:47 AM
What tag are you using? If you're using IMG, try using something else.

skepticality
09-29-2007, 10:17 PM
I created a new BB-tag I named [test].




Dr. Mabuse
Admin, Skepticality Forum

Lizard King
09-29-2007, 11:12 PM
Try this

<script type="text/javascript">
function largerThan(a,b)
{
return a>b;
}
</script>

<img src="{param}" onload="if(largerThan(this.width,500)){{this.height=this.h eight*500/this.width}{this.width=500}};" />

skepticality
10-02-2007, 02:38 AM
Try this

<script type="text/javascript">
function largerThan(a,b)
{
return a>b;
}
</script>

<img src="{param}" onload="if(largerThan(this.width,500)){{this.height=this.h eight*500/this.width}{this.width=500}};" />
The only difference I could see at a quick glance was the quotes after onload= and the ending space and />.

I tried your code by copy-and-paste in case I missed something else, but it still didn't work, the image only resize after you click the edit button.


regards,
Dr. Mabuse

skepticality
10-05-2007, 12:00 AM
Anyone?