Правильный UX-приём
С самой страницы «проверить из JS», что JS выключен, нельзя — если скрипт не выполняется, проверки нет. Показывают fallback через HTML-тег <noscript>:
<noscript>
<p>
JavaScript отключён в браузере. Включите JavaScript для полной работы сайта.
</p>
</noscript>
Содержимое видно пользователям без JS (или с жёсткими блокировками скриптов).
Практика
- Критичный контент по возможности доступен и без JS (progressive enhancement).
<noscript> — сообщение / упрощённая навигация, не «детектор» для аналитики в рантайме.
Итог: детект «JS выключен» делается разметкой <noscript>, а не кодом на JavaScript.