К вопросу о том, как проверить, включен ли у пользователя JavaScript и, если он отключен, выдать соответствующее сообщение. Готовый код:
<div id="noscript" class="error">
Пожалуйста, включите JavaScript!
<a href="http://www.google.ru/support/bin/answer.py?answer=23852">Как?</a>
</div>
<script>
$('#noscript').hide();
</script>
Пожалуйста, включите JavaScript!
<a href="http://www.google.ru/support/bin/answer.py?answer=23852">Как?</a>
</div>
<script>
$('#noscript').hide();
</script>
Этот код можно вставить в ваш темплэйт (page.tpl.php). Только что проверил с включенным/отключенным js - все работает.
Комментарии
а зачем?
Сейчас без Джава скриптов не работает много сайтов
И если человек умышленно их отключает значит он уже знает последствия и разбирается в вопросе
Как раз искал подобное,спасибо.Но как это работает?Это полный код?
orb:Это правило хорошего тона.Ситуация:зашёл офисный сотрудник в магазин купить чего-нибудь,а ему злой админ повыключал яву.Ситуация теоретическая,но маньяки-админы-это реальность
Стоит упомянуть, что в коде используется JQuery.
зачем? если для этого есть тег специальный:
<div class="error">
Пожалуйста, включите JavaScript!
<a href="http://www.google.ru/support/bin/answer.py?answer=23852">Как?</a>
</div>
</noscript>
Да, это полный код. Если js включен, DIV с ошибкой будет отображаться, в противном случае он будет скрыт.
Если бы я писал это где-то в другом месте, не на drupal.ru, обязательно бы упомянул.
Покажите мне хоть один сайт на drupal без jQuery
женщины и детипосетители зашедшие с поисковиков в поиска ответа на вопрос топика, потому как вопрос не только друпальский. Ну в общем да, в конце-концов у нас тут вроде как о друпале сайтДля поставленной задачи - да, можно использовать тэг noscript. Просто в моем варианте возможно более "продвинутое" использование.
Есть, допустим, форма добавления товара в корзину. При нажатии кнопки в форме выполняется jscript, который выполняет AJAX-запрос, ну и т.д. Хорошо бы на случай, если у человека выключен JavaScript, подстраховаться и сделать еще одну кнопку, работающую без AJAX'а. Две кнопки - это некрасиво Поэтому используем такой вариант:
...
<input type="button" class="js" style="display:none" value="Кнопка, работающая с JS"
onClick="javascript:addtocart()">
<input type="submit" class="noscript" value="Кнопка, работающая без JS">
</form>
<script>
$('.noscript').hide();
$('.js').show();
</script>
Бред. Надо делать одну кнопку, которая с JS отправляет AJAX'ом форму, без JS -- обычным способом.
А,всё понял,просто до безобразия.Див с мессажем удерживается jquery в невидимом состоянии,если ява выключены,стало быть и удерживать нечему.
Небольшой тюнинг,многоязычность+сео
<?php print t('Please enable java-script!'); ?>
<a href="http://www.google.ru/support/bin/answer.py?answer=23852" target="_blank" rel="nofollow"><?php print t('How?'); ?></a>
</div></noindex>
<script>
$('#noscript').hide();
</script>
Спасибо!
К вопросу о "зачем" - есть модуль слайдер dynamic display block, так вот он при выключенном жаваскрипте выводит пустой черный блок. Т.к. ДДБ обычно помещают в самое лучшее место страницы, то этот код поможет "подстраховаться", если у пользователя нет жаваскрипта.
П.С. (Решено) в тему поставьте!
Мде .... просто но коментс ... индуский код.
Такие вещи делаются так
Скорее, просто неудачный пример. Просто хотел продемонстрировать возможность скрывать/показывать какие-то куски в зависимости от наличия JS.
В данном конкретном случае - согласен, я бы сделал так же (через return false).
Кстати,первый код хоть и прост,но кака-этот текст индексируется гуглём и идёт в выдачу как уникальный