I overcame this but I couldn't see how to go about it using the shoutbox that came with TP. I eventually used a shoutbox that came from here - cj tagboard
. I think I failed with the TP shoutbox because the code isn't isolated in it's own page. Bit difficult to refresh as a result. Anyway with the great versatality of the block creation with TP it isn't hard to use a different shoutbox. Only problem really is the lack of control over who can post. Again I don't really see this as a problem because I view the shoutbox as something that is seldom used as it lacks privacy. I installed Flash Chat for serious chat and they both work together nicely. All you really have to do is create a TP block with an iframe and source the cj tagboard script. As it is an iframe you can build in manual refresh or use the cj tagboard auto-refresh or even use the 'silent refresh code' I use. The silent refresh code doesn't cause any clicks or task bar alterations which is much prefered for sure. All I did was to include the following code:
<!--compiled in <?=round(((time() + microtime()) - $GLOBALS['timer'])*1000)?> milliseconds-->
We have the "refresh" meta-tag in case the user's browser does
Notice that this is nested within a "noscript" block.
<meta http-equiv="refresh" content="2">
var sURL = unescape(window.location.pathname);
// the timeout value should be the same as in the "refresh" meta-tag
setTimeout( "refresh()", 30*1000 );
// This version of the refresh function will cause a new
// entry in the visitor's history. It is provided for
window.location.href = sURL;
// This version does NOT cause an entry in the browser's
// page view history. Most browsers will always retrieve
// the document from the web-server whether it is already
// in the browsers page-cache or not.
window.location.replace( sURL );
// This version of the refresh function will be invoked
// The argument to the location.reload function determines
// if the browser should retrieve the document from the
// web-server. In our example all we need to do is cause
// re-evaluated. If we needed to pull the document from
// the web-server again (such as where the document contents
// change dynamically) we would pass the argument as 'true'.
window.location.reload( false );
Use the "onload" event to start the refresh process.
<body onload="doLoad()" bgcolor="#E1E1E1">
// we put this here so we can see something change
document.write('<b>' + (new Date).toLocaleString() + '</b>');
just above the </body> tag in display.php of the tagboard script. After disabling the auto-refresh of the cj tagboard I passed the refresh over to the script above.
As the shoutbox is being shown in an iframe it opens up lots of different ways of displaying various site content. The menu under my shoutbox now includes the links below:
Intro | Latest News | Shoutbox |...............powered by CJ
Offers/News: UK Shops | Software | Software Search
Forum: Top Topics | Recent Topics | Recent Replies
Who is online? | Board Stats
Each of them loads different content into the iframe. On loading the site the iframe displays the fading intro script and then refreshes to show the shoutbox. Lots of the other scripts are ssi driven with the 'Who is online?' also showing the people in the Flash Chat. The way you can load the iframe is really upto your own imagination but sure helps keep things tidy.
Anyways some ideas for you hopefully.
By the way after I had installed the cj tagboard script and posted on their forum some nut followed the link to my site and hacked the board - the shoutbox. I worked out how he was able to do this and I think I stopped him. If you do use the cj tagboard script and this headcase finds you then I will tell you how to go about stopping the nonsense.