As a newbie programmer, I'm learning finding what I can do with some simple jQuery pretty exciting. However, I am also aware that some people disable JavaScript in their browser.<p>I'm curious, for the tech-savvy HN audience specifically, why is this something you do (or if you don't any more, why did you and why did you stop)?<p>From a development perspective, how concerned should I be about all my functionality existing without JS?
1. Performance - my meek single core CPU and my tendency to open dozens of tabs at once often collide.<p>2. Privacy - I'm far too lazy to go the full mile, but if I can avoid most of the tracking, I certainly appreciate it. 'though I do keep some domains null routed anyway.<p>3. Security - after Flash, JS is the main source of security problems, and I don't mean just attacks on my machine, but also stuff like CSRF and such.<p>But the most important:<p>4. Peace of mind - JS is used to implement the most annoying parts of the web: popups (particularly those "inline" that can't be blocked by the browser), paywalls, preventing right-click, distracting real-time updates, etc. The web is just a calmer, saner place without JS, and I like that.
You can safely ignore that "audience" since they comprise 0.01% of a niche. They are vocal in sites like HN and Reddit and so on but the numbers are safely ignorable from a market standpoint.<p>If you want to spend your development effort in something worthy that will increase your audience, your should instead make sure your sites are available to people with disabilities. They are a far bigger share of the market (any market) and you will feel better by supporting them.
Unless your customers are paranoid computer geeks, you should completely ignore users who disable JavaScript. They are extremely few in number and they are already accustom to being ignored. If your site is worth viewing as you intended and are worth having as a customer, they will whitelist you.
Due to a long, sad history of exploited security defects, I only run javascript from authors I consider both trustworthy and competent, and who have useful behavior to add to my browsers. Basically if you don't even realize your documents are unusable without scripting, I can't assume you're smart enough to avoid attacks via malicious third-party code.<p>It's also a good way to find out who cares about the web, which is eroding as authors give up publishing semantic markup at stable URLs in favor of content entombed within client/server style apps.
1. Effectively blocks all forms of annoying advertisement.<p>1.5. As well as all those stupid social featu... sorry, bugs.<p>2. Makes pages load and render faster on my already-slow-by-now 100Mbps net.<p>3. Browser uses several times less RAM.<p>4. More privacy.<p>And you lose nothing as it is very easy to whitelist domains using some kind of plugin.
i find it highly annoying if pages show different content on the same url. many bad sites with javascript do not update their url.<p>javascript is often used for no apparent benefit. my favourite (or shall I say anti-favourite) are websites that, when I click on an image thumbnail darker the main site, show some animation and then showing the bigger image. I have experienced it many times that disabling js would directly serve me the image and do so much quicker.<p>some online store I use pops up details for items when I mouse over. each time changing mouse focus. I can not get a simple list with all the details to use my browsers search function with. it also has no pagination but autoloads more items on the bottom. if I revisit the page (eg after looking at an image) I have to start at the beginning again.<p>javascript allows website to screw with my copying. hover the mouse on a Google result, the status bar shows the proper target. rightclick and copy to get some redirection shite instead.<p>phew, where do I stop...<p>disabling js also implicitly removes a lot of advertising, pop-up windows, always scrolling bars. when I have to use someone else's computer I often cannot understand how they stay sane.<p>Google steals my focus, I use backspace to navigate "back". on Google that leads to me removing characters on the search and the search automatically updating and adding more pages to the history to navigate back through.<p>javascript often leads to sites eating my CPU. I value my battery life and CPU temperature.<p>I use reddit a lot on a unreliable connection. I often happily vote, just to see later that javascript pretended my votes counted while in reality they never arrived at the other end.<p>javascript can be great for thing but it gets abused so much that disabling made me enjoy the web much more. if something does not work, well, chances are I was procrastinating anyways and won't miss anything important by closing the tab. I did not install flash for the same reasons.<p>if I have to enable js for something it is two keystrokes (in opera). I can also enable it per site very easily.
In General I would say that the "marketing layer" of your site should be accessible without javascript.<p>Once a user registers and logs in to your web application I believe it is fair to require them to enable javascript in order to proceed.<p>However, if you don't need to create a full blown javascript web application then I recommend allowing your javascript to gracefully degrade so users can still use the site. In this case javascript best used to "enhance" the experience but shouldn't destroy the experience if it's disabled. Hope that helps.<p>Also, keep in mind that this also depends on the organization your working for. In the case of government websites with strict accessibility guidelines, sites need to work without javascript enabled because screen readers for the visually impaired have a hard time viewing dynamically generated content.
I run NoScript because it provides the full feature set of FlashBlock, plus extra stuff. It's the easiest way to protect myself from flash/acrobat reader/java 0-day exploits, and not running tracking JS/ad JS is an extra perk on top of that.
I used Opera from version 8 to 10 because it let me quickly enable/disable Flash and javascript on a global basis. Then I found NoScript, with its fine-tuning options, and moved definitely to Firefox. It's not as annoying as some people think, just 1 or 2 clicks on a menu and reload if I really want to see the page.<p>I use private browsing for the privacy paranoia. No need to block cookies. I block JS and Flash mainly to protect from buggy sites that thrash CPU and memory.<p>EDIT: also, it has surrogate scripts to fix some sites, for instance it removes clutter from Google Search links. And ABE has almost the same functionality as RequestPolicy.
I use RequestPolicy to block requests to other domains, which often prevents various JavaScript files from being loaded. This is done in order to impede companies like Google, Facebook and others tracking my web browsing on pretty much every website in existence. Third parties don't need to be informed of the pages I visit.<p>A side benefit is that many annoying ads are blocked, in exchange for some pain when visiting new sites with separate domains hosting their CSS, images and other assets.
I do it because it reduces my attack surface by quite a bit. There have been many bugs mitigated by having no JavaScript.<p>All you really need to do on your site is to use a few noscript tags to send people a message saying that the site requires JavaScript to function and asking them to turn on JavaScript or whitelist your domain in NoScript.
I have occasionally in the past - pages are often <i>far</i> more responsive without it. Generally that's due to blocking social widgets or crappy scroll handlers.
>how concerned should I be about all my functionality existing without JS?<p>If something seems worth using and it requires JS to function correctly, I'll go ahead and enable JS. Unless you have projects in mind along the likes of jsFiddle, I don't think you have much to worry about.<p>As for why: it's nice to keep my laptop quiet and power-efficient when I'm simply browsing (especially if I'm not plugged in), a task that shouldn't be resource-intensive; it's an easy way for me to prevent potential malware when I'm using Windows.
Disabled people, for example (I am not, but I know several). Javascript is rarely a boon for accessibility.<p>Mark Pilgrim's "Dive into Accessibility" [1] is still a good primer on the subject, even though it's now a decade old.<p>[1] <a href="http://diveintoaccessibility.info/" rel="nofollow">http://diveintoaccessibility.info/</a>
I have never met a non-tech savvy user ever disable Javascript. Heck I've never met one that even knows what Javascript is. But a lot of tech savvy people I know do disable it mostly because of the whole "do not track" paranoia. I personally don't disable it as most sites use it and I like the functionality it provides.
I wouldn't imagine that many tech-savvy folks disable JS very much these days. I think most people can appreciate how far it's come and what kind of role it can play. I understand the security concerns but I think the pros greatly outweigh the cons. I could be completely wrong though.<p>In regard to development, it really depends on the kind of development you're doing. In most cases, just make sure the functionality degrades gracefully if a user has it disabled.<p>If you're building larger apps where JS plays a major role, let the user know they should allow JS to use it. IMO, unless you plan on making sure the app degrades completely this is the way to go.
The only time I have ever disabled JS for a website, I've done it because that website broke some UI functionality I expect to work in every page. Most often, what some website does is disable right-click. They must think that is a foolproof way of "protecting" their content, and don't see it as an annoying block that makes people disable JS.<p>I did try an extension (for Chrome) that prevented sites from disabling right-click, but then out of nowhere it inserted an ad in a page I was viewing, so I removed that extension and went back to blocking JS.