• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Предупреждение, если JS отключен

Статус
В этой теме нельзя размещать новые ответы.

skyman

Постоялец
Регистрация
20 Июн 2007
Сообщения
127
Реакции
24
На одной станице нужно сделать предупреждение, если в браузере выключен JS, но чтобы выводило только предупреждение, без остальной инфы.

Т.е. примерно так:
<noscript>Внимание! У вас отключен JavaScript!</noscript>

Но если для той инфы, что нужно скрыть, делать через <noscript style=display:none" или visibility:hidden, то, соответственно, нужно будет повторно копировать блок, для тех, у кого js включен.

Вопрос: можно как-то попроще сделать, без лишнего кода, ну и чтобы кроссбраузерно было?
 
  • Заблокирован
  • #2
HTML:
<html>

 <head>
  <script language="javascript">
   function check_js() {
     document.getElementById("check_js").innerHTML = "";
     document.getElementById("check_js").style.display = "none";
   }
  </script>
 </head>

<body onload="check_js()">
  <div id="check_js">У вас выключен JavaScript! Убейтесь головой апцтену</div>
</body>

Если JS выключен - надпись останется, если JS включен - надпись скроется
 
За альтернативу noscript конечно спасибо, но основная проблема не решена.
Приведу пример:
HTML:
<script language="javascript">
   function check_js() {
     document.getElementById("check_js").innerHTML = "";
     document.getElementById("check_js").style.display = "none";
   }
  </script>
 </head>
<body onload="check_js()">
  <div id="check_js">У вас выключен JavaScript! Убейтесь головой апцтену</div>
  <div>текст + скрипт</div>
</body>
Так вот, что нужно сделать, чтобы без JS не выводилось:
HTML:
<div>текст + скрипт</div>
 
  • Заблокирован
  • #4
ТОгда вообще никак. php ещё не научился определять, включены ли JavaScript в браузере пользователя
 
Можно применить редирект.
Сначала к примеру грузится index.php, на ней стоит чекер js (любой, хоть тот же установщик кук), перезагружаем страницу(как угодно) и смотрим.
Была ли перезагружена странице (если на редирект), стоит ли куки.
 
  • Заблокирован
  • #6
и как к этому гугль отнесётся?
 
и как к этому гугль отнесётся?

А причем тут гугол? Эту схему я много где видел, где на js ставится кука, а из пхп (при перезагрузке или запросе другой страницы) просто проверяется наличие этой куки.
Как к этому отнесутся поисковики, я честно говоря хз. Надо бы потестить.
 
На одном из форумов нашел слежующее:
сделать в php скрипте специальный пункт $_SESSION['js'] = TRUE или FALSE
После захода на сайт проверять, если $_SESSION['js'] установлено, то выдавать соответствующую страницу.
Если же нет, то выдавать специальную проверочную страницу с редиректом:
HTML:
<html>
<head>
<title>JS_Test</title>
<script language="JavaScript">
window.location.href = "<?php $url_текущего скрипта ?>?js=TRUE" ;
</script>
<meta http-equiv=Refresh content="0; url=<?php $url_текущего скрипта ?>?js=FALSE">
</head>
</html>
Содержимое $_GET['js'] занести в $_SESSION['js']
И выдать соответствующую страницу.

Можно по подробней, что и куда нужно написать, чтобы работало.
 
Разобрался, применил банальный css.

HTML:
<script language="javascript">
   function check_js() {
     document.getElementById("check_js").innerHTML = "";
     document.getElementById("check_js").style.display = "none";
   }
  </script>
<noscript>
<style type="text/css">
#hidden
{
    display:none;
}
</style>
</noscript>
 </head>
<body onload="check_js()">
  <div id="check_js">Внимание! У вас отключен JavaScript! <br />Для отображения страницы, вам понадобится включить поддержку JavaScript в настройках браузера.</div>
  <div id="hidden">текст + скрипт</div>
</body>

Т.е. если JS отключен - выводит только предупреждение.
А если включен - то <div id="hidden">текст + скрипт</div>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху