Как определить, отключен ли у пользователя JavaScript? - PullRequest
3 голосов
/ 31 мая 2010

Я говорил с другом о пользователях, у которых не включен javascript в их браузере, и о том, что можно сделать, чтобы показать им версию вашего веб-сайта без javascript.

Возможно ли это и как это сделать?

Мысли

Ответы [ 7 ]

16 голосов
/ 31 мая 2010

Не пытайтесь создавать отдельные JS и не-JS версии сайта. Создайте не-JS версию, а затем улучшите ее с помощью JS . Это облегчает повторное использование кода, позволяет использовать обнаружение объектов / функций для всего стека и снижает вероятность того, что пользователи без JavaScript останутся позади, если разработчики обновят один из них. ветка сайта но не другая.

7 голосов
/ 31 мая 2010

Если вы имеете в виду javascript, найдите тег HTML <noscript>.

4 голосов
/ 31 мая 2010

Если вы говорите о JavaScript и хотите иметь альтернативную версию своего сайта для тех, у кого нет, просто предоставьте им сайт без и поместите его в верхней части своей страницы:

<script type="text/javascript">
     location.replace('http:javascript-version-of-your-site');
</script>
1 голос
/ 31 мая 2010

Я использую эту комбинацию JavaScript и 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>

Это полезно, если ваша единственная цель - сообщить пользователям, что Javascript недоступен и сайт не будет работать.

1 голос
/ 31 мая 2010

Как это:

<html>
<head>
<noscript>
<meta http-equiv="refresh" content="0;url=http://foo/noscript.htm" />
</noscript>
</head>
<body>
...

Мета-обновление (декларативное перенаправление) выполняется только в том случае, если в браузере не включен сценарий. Конечно, тег noscript понимают только те браузеры, которые имеют движок javascript. Если вы пытаетесь поймать браузеры, в которых вообще отсутствует javascript (я не знаю многих), то это не сработает.

0 голосов
/ 31 мая 2010

Другой вариант, открытый для вас, а не очевидный тег noscript, - использовать JavaScript, чтобы удалить cookie, а затем проверить его и соответствующим образом доставить содержимое. Javascript версии против не перенаправления или span

просто думал, что я добавлю это туда ..

0 голосов
/ 31 мая 2010

Вы можете добавить код для регистрации / отслеживания / оповещения о пользователях, у которых отключен JavaScript с помощью тега.

<noscript>
   // Do Something
</noscript>
...