Как проверить, отключен ли JavaScript? - PullRequest
8 голосов
/ 20 января 2010

Как проверить, отключил ли пользователь JavaScript в своем браузере?Например: сайт stackoverflow показывает красный предупреждающий div в верхней части, если вы отключите JavaScript в Firefox?Как этого добиться?

Еще одна вещь, которую я заметил: если вы отключите куки, stackoverflow не будет работать.Он не позволит вам войти, когда вы нажмете кнопку входа.На самом деле, это то, что я предполагаю и на моем веб-сайте: данные для входа / сеанса пользователя зависят от файлов cookie, макета пользовательского интерфейса и т. Д. Зависят от JavaScript.

Здесь я не хочу обсуждать принцип дизайна (прогрессивное улучшение и т.д ..), кто-нибудь может сказать мне хороший способ проверить, включены ли куки, JavaScript или нет?Я думаю, что это должно быть сделано на стороне сервера, верно?

Спасибо

Ответы [ 3 ]

18 голосов
/ 20 января 2010

Добавьте тег <noscript> на страницу, и если JavaScript отключен, сообщение будет показано пользователю.

Вы также можете определить, включен ли JavaScript, на основании успешного выполнения кода JavaScript

  • добавить скрытое поле и установить его значение по умолчанию false
  • Запустите некоторый код JavaScript, который устанавливает значение true
  • Когда вы отправляете обратно, проверьте значение.

Чтобы проверить наличие файлов cookie, установите файл cookie и попробуйте прочитать его. Если это успешно, то куки включены.

3 голосов
/ 20 января 2010
<!-- 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>
0 голосов
/ 16 августа 2016

Используйте тег noscript:

<script>
document.write("JS is enabled!");
</script>
<noscript>JS is disabled !</noscript>

источник: http://www.w3schools.com/tags/tag_noscript.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...