NXT NXT - 9 days ago 5
Ajax Question

Norton 360 is thwarting my javascript -- what should I do?

One of my clients has Norton 360 installed on his computer, and it's interfering with the javascript in my web pages. Not all JS, just some.

Simple things like

<a href="page.html" onclick="somefunc(); return false;">


don't work. Also using jQuery to attach on onclick event to an a tag doesn't work either:

// doesn't work
$(document).ready(function() {
$("#old_trans_link").click(viewOldTrans);
});


What should I tell my client? What should I tell our users? Is there any way around this madness?

Everyone doing JS heavy pages must run into this. How do they deal with it?

Edit: He also has McAfee installed at the same time.

Answer

I've never heard of anti-virus interfering with in-browser JavaScript in that way. My best guess would be that they have their virus scanner running at a very aggressive security level.

The easiest options, in terms of amount of work required to address this issue would be:

  • Recommend your users lower their security settings
  • See if they can whitelist your site so the application will work correctly
  • Recommend a browser other than Internet Explorer, or suggest they install Chrome Frame

Of course, if these are not feasible options, you may have to go with a more simplistic approach to using JavaScript on your page. Instead of requiring JavaScript on the site, use it to enhance the site and make features easier to use.

To do this, you would have to make everything on your site work with JavaScript disabled. Have everything perform POSTs to the server for processing. JavaScript would sit on top of all of this to enhance the experience for users who have JavaScript working. In this scenario, things like anti-virus blocking click events on anchor links would end up with a submission to the server.

Of course, this is a lot more work on your part because it almost requires writing 2 versions of the site. This is an argument that is brought up all the time online, even when developing StackOverflow, as was discussed on their blog.

You're better off telling them to add an exception for your site.