У меня возникла задача определить, включён ли JavaScript у пользователей моего сайта. Я понимаю, что нельзя использовать JavaScript для этой проверки, и это очевидно.
Мне нужны альтернативные методы, чтобы узнать, отключён ли JavaScript. Я часто работаю с серверными языками, и мне нужны решения, которые можно встроить в условные конструкции на сервере.
Пожалуйста, поделитесь примерами кода для выполнения такой проверки. Было бы здорово, если бы вы также объяснили, как это интегрировать в текущий проект.
<noscript>
<div class="no-js-warning">
Ваш браузер не поддерживает JavaScript или он отключен
</div>
</noscript>
<script>
document.body.classList.add('js-enabled');
</script>
Любые идеи и подходы к решению этой проблемы будут весьма полезны.
я обычно делаю проверку через куки. когда js работает, скрипт устанавливает специальную куку типа js_enabled=1, а на сервере просто проверяю её наличие. если куки нет - значит js отключен. удобно тем что можно сразу в php или другом серверном языке условие писать. еще вариант - делать ajax запрос при загрузке страницы который отправляет флаг на сервер, тогда в сессии можешь хранить инфу о поддержке js у конкретного юзера
А вот еще способ - можно изначально css классом no-js разметить body, а потом через javascript его убирать и добавлять js-enabled. Тогда по дефолту у всех будет no-js стиль, а у кого работает скрипты - переключится на нормальный. Довольно надежный метод получается, как думаешь?
Попробуй еще через скрытые формы - делаешь инпут type=“hidden” со значением “no-js”, а потом джаваскриптом меняешь его на “js-enabled” перед отправкой формы. На бэке смотришь что пришло. Или можно через локалсторедж - скрипт записывает туда флаг, потом аяксом отправляешь эту инфу на сервер и запоминаешь в сессии. Главное не забыть обработать случаи когда куки/локалсторедж тоже отключены у параноиков)