Как узнать, отключён ли JavaScript в браузере?

Как проверить состояние JavaScript в браузере

У меня возникла задача определить, включён ли 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” перед отправкой формы. На бэке смотришь что пришло. Или можно через локалсторедж - скрипт записывает туда флаг, потом аяксом отправляешь эту инфу на сервер и запоминаешь в сессии. Главное не забыть обработать случаи когда куки/локалсторедж тоже отключены у параноиков)