Archive for the ‘Javascript’ Category

I recieved a frantic phone call from one of the owner of the WikiHorseWorld website today about the site crashing. It seems that he had just reloaded a fresh install of Windows XP on his Laptop, and had finished installing all patches and updates. This of course installed Microsoft’s “biggest and best” (spelled “newest and buggiest”) browser, Internet Explorer 8.

The problem that had my client so worried is that the page would load and a few moment later crash IE8 completely! Internet Explorer would add a less than helpful error message, and ask if the user wanted to send an error report to Microsoft, then would restart and open the same tab again. Of course the same issue would occur, and we would start all over again!

The REALLY maddening part is that the problem was a bit intermittent, and would only occur 2 times out of 3. Also, the crash would occasionally occur a few seconds to a few minutes after the page was loaded.

I knew that I had tested XP with many different versions of IE, and that everything had tested out correctly. This led me to suspect an external script. There are several such scripts that are used on the site. These include advertisements, analytics and sharing scripts.

One by one, I isolated the scripts on the page, and was able to determine that the offending script was a script from AddThis.com.

After doing a quick search of the forums on that site, I found that the problem was a known issue, and was actually caused by an older version of Adobe (Shockwave) Flash. It seems that IE8 has an issue that causes it to crash without warning if the version of flash isn’t up to snuff.

Thankfully, AddThis has the ability to disable flash in the script by placing a small piece of javascript before the initialization code.

For Older versions of the script use:

<script>
var addthis_disable_flash = true;
</script>

For newer versions of the script place the following argument in the addthis_config block:

data_use_flash: false

Simply adding these codes to the pages solved the problem for the most part, although I’m still finding the problem on a few isolated pages.

Since the problem is so severe (the browser completely crashes), it is vital that the authors of scripts that use flash ensure that test their code thoroughly using a similar environment to ensure compatibility. Especially if this code appears on the first page that a user sees. After all, it’s very hard to tell a potential user that they need to upgrade their version of flash if they can’t even see the page to begin with!