Don’t use sp*nsors

Some of the things you have to deal with in terms of browser/system compatibility are just getting stranger and stranger. It’s not just code anymore, you have to be careful what words you use, and we aren’t even talking about swear words!

I had a confused call from someone who was complaining they couldn’t see the “sponsors” links on a site I run. After carefully checking in the site in a browser I hardly ever use (IE 6), carefully logging out so that my set up should be the same as theirs, I could still see the links.

I managed to talk them through getting a screen shot:
UKWA screenshot.

And source code, a relevant bit was:

<li>
  <a title="Reports from UKWA events." 
href="http://ukwindsurfing.com/news/category/reports/">Reports</a>
</li>
<li>
</li>

This was odd, the “sponsors” links was simply gone. My first thought had been some kind of issue with some people not being able to see that category of posts, until I remembered a time when I’d installed a firefox pluggin that had removed the sponsors logos from across the top, due to an ID of “sponsors”. Also, we’ve had problems with the WYSIWYG editor in our CMS because their anti-virus package adds invalid script tags into the code.

Low and behold, at the top and bottom of the page source were scripts added by something other than me! They start off like this:

<script language="JavaScript">
<!--
function SymError()
{
 return true;
}

This really isn’t on, not only is it adding invalid code (under the Doctype I use) it is deleting legitimate content! Hmm, “Sym”, I wonder, could that be Symantec?

After commenting on this to a friend he discovered this forum thread, where not only did they have a work-around:

<!-- <script language="javascript"></script> 
Workaround comment for Norton Firewall -->

But also this gem, which I am half-heartedly considering using:

<script language="Javascript"> 
<!-- 
if(window.SymError) 
{ 
 window.onerror=null; 
 window.onerror=SymError2; 
} 
function SymError2() 
{ 
 alert('The functionality you would like to use has been broken by the hatchet '+ 
   'style programming in your Norton Internet Security software.\n\nWe '+ 
   'use clean javascript on this website to leverage your modern browser '+ 
   'and deliver a useful website. Norton\'s IS product disables some '+ 
   'javascript like a dentist using pliers to fix teeth.\n\nYou might want '+ 
   'to ask them for a refund or a better product.'); 
 return true; 
} 
//--> 
</script> 

According to comments on the thread, the only advice Symantec provide is “turn off ad blocking”.

Given that they remove content, and put invalid code into all web pages for all their ‘clients’, I think the best advice must be to install something else, it should not be up to developers to fix problems that are put into the pages by client software.