@akula22

Как узнать включен ли Javascript у юзера желательно средствами php?

Как узнать включен ли Javascript у юзера, мне надо в зависимости от этого разные шаблоны отдавать, php browserscap не пашет, всегда показывает что включен.
  • Вопрос задан
  • 2498 просмотров
Пригласить эксперта
Ответы на вопрос 3
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Показываете транспарант "Вы, твари, замахали js вырубать, вот тебе скотина мнительная, линк на версию без js. Наслаждайся 90-ми идиот мнительный"
И ссылка на поддомен, где версия для инвалидов мозга, например im.afraid.of.progress.domain.com
При этом скрываете этот транспарант с помощью js, что бы не оскорблять адекватных посетителей.
Средствами php никак, так как php выполняется на сервере и понятия не имеет в какой форме мозг пользователя.
Но зачем Вам это вообще нужно? Для людей с блокировщиком попапов тоже отдельную версию делать будете? А для свидетелей ie6? Для людей заходящих с калькуляторов по dial up?
Ответ написан
Wolfnsex
@Wolfnsex Куратор тега PHP
Если не хочешь быть первым - не вставай в очередь!
Как узнать включен ли Javascript у юзера желательно средствами php?
Чисто логически, самый простой способ выглядит примерно так:
1. Выполняем какой-то микроскопический код на JS'е, оповещаем об серверную часть, с помощью какого-то запроса или чего-то в таком духе.
2. Если код не выполнился - значит JS выключен

"Узнать средствами PHP", думаю, что никак. Т.к. JS это исключительно клиентская часть, в том смысле, в котором Вы про нее говорите и стандартных механизмов, вроде передачи соотв. параметра браузером, например, как HTTP-заголовка, изначально не предусмотрено.

Реализовать подобную проверку соотв. довольно просто, но на клиентской части, это будет выглядеть как костыль.
Ответ написан
SagePtr
@SagePtr
Еда - это святое
Как-то так можно сделать:
<noscript><img src="/путь-к-скрипту.php?js=no" alt=''></noscript>
<script>var img = new Image; img.src='/путь-к-скрипту.php?js=yes';</script>
Скрипт куда-то отмечает наличие js на клиенте и возвращает однопиксельную прозрачную png'шку.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы