Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

As the title suggests, I am developing an e-commerce site and I intend of having two jQuery plug ins on the default page, one for scrolling images and the other for the navigation menu.

Should I be concerned about making the site work if the users disables JS? Cause if they have it disabled my site would be almost impossible to use with the scrolling images blocking the main content.

Plus the CMS I am using, Big Commerce, uses a bit of JS for the products pages, which would also look ridiculous with JS disabled. Anyone have experience with this?

share|improve this question
    
Are the jQuery plugins pre-built, or custom? If the former, have you first checked how they might already handle non-JS situations? Many carousels, for example, will only display the first image while the rest are hidden by CSS and animated in by the JS. If someone decides to have JS disabled, too bad for them; they only get one image. –  Su' Oct 8 '12 at 16:24
    
It would likely be pre-built - on my friends e-commerce site if JS is disabled all images show up stacked on top of each other, covering the entire site. His images sit within a <ul> and use z-index and some JS to make it work. Not sure if that is bad practice or not .. link is here –  Livingston Storm Oct 8 '12 at 16:27
    
If you are using BigCommerce you have no way to develop a non Javascript version of the shopping cart since they are hosting it. If you really want to have a noscript safe version of your website you should get rid of BigCommerce and install Magento locally on your own server to have 100% control over the code. –  Anagio Oct 8 '12 at 16:40
    
I see ... I guess I'll have to settle with the percentage of users who have it disabled. I don't know enough PHP to work with anything open source. Thank you for the info. –  Livingston Storm Oct 8 '12 at 17:03

2 Answers 2

<noscript>Javascript Required</noscript>

That is all you need. Just elaborate with a nicer and friendlier is you like. There are two other options:

  1. Ignore those users. Check your stats, they might be insignificant to your bottom line.
  2. Redirect those without Javascript to an alternate page. Probably something with static content.

The normal suggestion is to write your code, including Javascript, with graceful degradation. Not sure how jQuery fits into this but it is probably not too hard. The strategy is to create something that looks right without Javascript and then have the Javascript enhance the experience.

For example, you can generate a page with some content and then add the JS to swap the content periodically or according to user action. That way, people without Javascript will have something more usable than an empty page.

share|improve this answer
    
Redirecting users to a page which tells them why your website needs javascript is the ideal way to handle them. Be kind and remember that they may not know why javascript is turned off. It could be a browser add-on or extension they didn't know was installed. Don't lose any visitors if you can help them turn it on and gain a customer why not. –  Anagio Sep 24 '13 at 6:06

I wouldn't worry about users with Javascript turned off too much. They'll likely comprise less than 1% of your visitors, and in any case people with JS turned off are likely very used to having a lousy web experience. They're also likely to be the paranoid type that wouldn't make a purchase on-line anyway.

You'd probably want to put a message box at the top informing them that your site requires Javascript to be turned on, and probably a link to instructions on how to do it in their browser.

That said, you'll also want to be sure that bots (Google, Bing) are able to crawl your site properly without Javascript.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.