Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 158 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

I just saw this for the first time after a delayed page load:

Stack Overflow works best with jQuery enabled

I looked for the "Enable jQuery" setting, but my browser doesn't have it.

It sounds really silly, could this be changed? A lot of people actually don't even know the difference between JavaScript and jQuery, it would be a better world if we don't perpetuate this misunderstanding.

Phew OK, it says JavaScript when you actually disable JavaScript - that's good, I understand that, it means JavaScript is disabled. Maybe I forgot to turn it back on after disabling it earlier.

Now, I understand why this jQuery message appears from reading this post, but as a user, what is the purpose of the message in its current form? It seems unclear or not useful.


  • We were unable to load some resources...
  • We are having trouble connecting to our CDN...
  • An error was encountered...
  • Teh jQueryz is broken!


  • ...some features may not be available,...

And possibly:

  • Click here to refresh the page.

I don't mean to nitpick, but it was hands-down the goofiest error message I've ever seen.

share|improve this question
Unfortunately, 'CDN', 'error' & 'resources' will be foreign to most, too. Heck, 'we', 'were' & 'unable' will be. But on the whole I do agree that it is, for all intents and purposes, a redundant message. :/ In fact, given the current climate of client-side script-able awesomeness, why not just insult them for using inferior networks and/or browsers. – Grant Thomas May 3 '11 at 15:32
I do agree with you on "CDN" and "resources" as not being optimal phrases. I'm not saying the current message is foreign in the sense that I don't know what jQuery is, I'm saying it doesn't give you any indication of what the message means, and makes the user feel like it's their fault/responsibility, hence the question title. If someone would know what jQuery means, and they're a Stack Overflow user, chances are they'll understand whatever you tell them as long as it reasonably describes the actual problem. – Wesley Murch May 3 '11 at 15:39
up vote 11 down vote accepted

Edit: I like the suggestion of the stalker and the troll, so we've changed the message to a variant of it:

{sitename} requires external JavaScript from another domain, which is blocked or failed to load.

We're not going to add the same for sstatic, because that would mean serving extra stuff for every request in the network, and if JavaScript is not available, the chances are about 100% that this is the result of a conscious NoScript blocking (because if this was due to e.g. network issues, the CSS files would be gone as well, which makes it pretty easy to notice something's wrong).

I'm not opposed to better suggestions. However, I consider none of your suggestions to be better.

They all sound like the stereotypical "Let's not give a meaningful message; that might confuse stupid users".

"An error was encountered..."? Really?

what is the purpose of the message in its current form?

Tell the user that there experience might suck, because (in most cases) they have activated Internet breaking software like NoScript. If they do that, they can be expected to figure out themselves what's blocked and need to be unblocked if they want to post comments on the site.

The other reason why this message would show up would usually be network issues – and we can hardly put troubleshooting tips for that into the message.

...some features may not be available,...

How is that any better than "{sitename} works best with"?

As I said, I'm open to suggestions though. Maybe people can post them as answers here.

share|improve this answer
I don't see what's wrong with "An error was encountered" although I don't think it's optimal, just figured I give some suggestions instead of just complain. It describes the situation better than the current message, which really could be displayed even when "jQuery is enabled" and mean the same thing. How is that any better than "{sitename} works best with"? - because enabling jQuery is not an option for the user, while something like "This site works best in Firefox" is an option the user has control over. It would even make more sense to simply say "jQuery is not enabled" – Wesley Murch May 3 '11 at 16:56
@balpha aren't you mixing up " best with JavaScript enabled" and "... works best with jQuery enabled" here? The user has no way to influence the latter, it will come up only if there was an error, won't it? I'm not aware of any tool that can turn off jQuery but leave all other JavaScript intact – Pëkka May 3 '11 at 18:18
@Pekka: The usual reason this message comes up (besides the recent Chrome update issue) is googleapis being blocked by NoScript, IE9 Tracking Protection, and the like. – balpha May 3 '11 at 18:47
@balpha ah, okay. – Pëkka May 3 '11 at 18:50
@Arjan how about "... which seems to be blocked or failed to load"? – Pëkka May 4 '11 at 8:16
Minor note: are you sure you want requires rather than works best with? – Arjan May 4 '11 at 9:07

What about changing the message into something like:

{sitename} works best with access to {domain}, which seems to be blocked or failed to load.

It would be great if this is doable for both (rephrasing the existing jQuery warning) and for (not currently implemented). Bonus if it could even check if reCAPTCHA's resources aren't blocked...

Maybe the message could also link to Which browsers are officially supported? And what else do I need? But I guess that might be a bit too much for non-Trilogy sites.

This is the domain for Stack Exchange static resources, except on Meta. Successful access is not currently checked, and implementing that needs the warning script to be loaded from the site's own domain, like from within the HTML itself, or from /content/js or something similar. The current jQuery warning won't even show if is blocked.

share|improve this answer

The error message doesn't really say why jQuery isn't working. If it was unable to load, that should be one error message. If it's loaded but not running then that's another - probably something the user can do something about.

@balpha is right that users with NoScript probably know how to enable jQuery, but this error message provides no help to them that that is what they should be doing.

share|improve this answer
I didn't consider script blocking etc. as noted here, I assumed the message was shown because of a network issue, I don't have any jQuery blockers enabled. I didn't even realize it was possible to explicitly block jQuery, but in that case I would consider any message that claims there was an error, as I suggested, to be inaccurate. I really gasped when I saw it at first because I thought it was the actual "no javascript" message. – Wesley Murch May 3 '11 at 17:12
@Wesley I would have thought the same thing, despite being a JavaScript developer. I'm not sure why the message, but that just shows how unhelpful the message is - it's suggesting there's something you can do about it, but no clear indication of what. – Blowski May 3 '11 at 17:15
"If it's loaded but not running then that's another" -- why would it be loaded but not running? – balpha May 4 '11 at 8:32
@balpha If the file itself is loaded, but the NoScript plugin is preventing it from executing, for example. – Blowski May 4 '11 at 8:37
Blowski, when "not running", the JavaScript objects won't exists. The check only validates if the expected objects exist. So, it's not really checking if the resources are accessible. – Arjan May 4 '11 at 8:42
@arjan But if it's going to give a specific message about jQuery not working, then it should check whether jQuery is not present because the file couldn't load or because something is preventing it from executing. The user can't do anything about the first one, but should be able to do something with the second. – Blowski May 4 '11 at 8:44
Surely most users can solve both issues, but if the error message is generic enough to point them into some direction then I'd say that suffices. (I actually wonder if NoScript allows the scripts to be downloaded to start with?) – Arjan May 4 '11 at 8:47
@Arjan I don't know, although the documentation says that it prevents from executing. I agree that a generic error message should suffice - I'm used to seeing 'Site xxx works better with JavaScript turned on messages' so I would know where to go. 'Site xxx works better with jQuery' is much more unusual and unhelpful. – Blowski May 4 '11 at 8:58

The concept of searching a browser setting for

Stack Overflow works best with JavaScript enabled

is not always correct, since other script blockers/extensions/plugins can block JavaScript too.

Likewise, one should not only search for a browser setting for

Stack Overflow works best with jQuery enabled

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .