I was talking with a friend about users who do not have javascript enabled in their browser and what could be done to show them a "no-javascript" version of your website.
Is it possible and how can it be done?
Thoughts?
I was talking with a friend about users who do not have javascript enabled in their browser and what could be done to show them a "no-javascript" version of your website.
Is it possible and how can it be done?
Thoughts?
Don't try to build separate JS and non-JS versions of the site. Build a non-JS version and then enhance it with JS. This makes it easier to reuse code, allows you to use object/feature detection for the entire stack, and makes it less likely that users without JavaScript will be left behind if developers update one branch of the site but not the other.
You can put some code to log/track/alert you about users who have JavaScript disabled by using the tag.
<noscript>
// Do Something
</noscript>
If you are talking about JavaScript and want an alternate version of your site for those without, simply give them site without and put this at the top of your page:
<script type="text/javascript">
location.replace('http:javascript-version-of-your-site');
</script>
Like this:
<html>
<head>
<noscript>
<meta http-equiv="refresh" content="0;url=http://foo/noscript.htm" />
</noscript>
</head>
<body>
...
The meta refresh (declarative redirect) only gets executed if there is no script enabled on the browser. Of course, the noscript tag is only understood by browsers that have a javascript engine. If you're trying to catch browsers that have NO javascript at all (I don't know of many) then this won't work.
Another option open to you rather than the obvious noscript tag is to use JavaScript to drop a cookie, and then test for that cookie and deliver content appropriately. javascript ver vs non redirect or span
just thought I'd throw that in there..
I use this combination of JavaScript and CSS
<html>
<style type="text/css">
.js-on
{
display: none;
}
.js-off
{
background: red;
color: White;
}
</style>
<div id='jsdetect' class='js-off'><b>Javascript is OFF</b></div>
<script type="text/javascript">
document.getElementById('jsdetect').className = 'js-on';
</script>
</html>
It's useful if your only aim is to tell the users that Javascript is not available and that the site will not work.