简体   繁体   中英

How to check if javascript is disabled?

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

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

  • add a hidden field and set its default value to false
  • Run some javascript code that sets the value to true
  • When you post back, check the value.

To check for cookies, set a cookie and try to read it. If it succeeds, then cookies are enabled.

<!-- 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>

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM