Reputation: 1904
How to check if the user disabled javascript in his browser? For example: the stackoverflow site shows a red warning div at the top if you disable the javascript in firefox? How to achieve this?
One more thing I noticed: if you disable cookies, stackoverflow doesn't work. It won't let you login when you click the login button. Actually, that's what I assume with my website as well, the user login/session data depends on cookies, UI layout etc.. depends on javascript.
Here I don't want to discuss about the design principle (progressive enhancement etc..), could anyone tell me a good way to check if cookies, javascript are enabled or not? I think it has to be done on server side, right?
Thank you
Upvotes: 8
Views: 1058
Reputation: 1477
Use the noscript tag:
<script>
document.write("JS is enabled!");
</script>
<noscript>JS is disabled !</noscript>
source : http://www.w3schools.com/tags/tag_noscript.asp
Upvotes: 0
Reputation: 25053
<!-- gatewayPage.php -->
<noscript>
<div style="background-color:red;font-size:14pt;">
This site will be very boring unless you enable Javascript!
</div>
<!-- if you're convinced that bots won't follow your redirect, add this: -->
Proceed to <a href="myRealHomePage.php">MySite</a> anyway
</noscript>
<script>
documment.location = "myRealHomePage.php";
</script>
Upvotes: 3
Reputation: 58261
Add a <noscript>
tag to the page, and if JavaScript is disabled, the message will show to the user.
You can also detect if JavaScript is enabled based on the success of running JavaScript code
false
true
To check for cookies, set a cookie and try to read it. If it succeeds, then cookies are enabled.
Upvotes: 18