Тег <noscript>


Описание

Тег <noscript> (от англ. "no script") предоставляет альтернативное содержимое, которое отображается, когда браузер не поддерживает JavaScript или его выполнение отключено пользователем. Это важный элемент для обеспечения доступности и постепенной деградации функциональности.

Базовый синтаксис:
<script> document.write("Привет, JavaScript работает!"); </script> <noscript> Ваш браузер не поддерживает JavaScript или он отключён. </noscript>

Ключевые особенности:

  • Содержимое отображается только если JavaScript недоступен
  • Может содержать любые HTML-элементы, включая стили
  • Работает как в <head>, так и в <body>
  • Важен для accessibility (доступности) и SEO
  • Поддерживается всеми современными браузерами
Пример с полноценной альтернативой:
<div id="dynamic-content"></div> <noscript> <div class="no-js-content"> <h3>Альтернативное содержимое</h3> <p>Для полной функциональности включите JavaScript</p> <a href="/simple-version">Перейти на простую версию сайта</a> </div> <style> .no-js-content { background: #f0f0f0; padding: 20px; } </style> </noscript>

Рекомендации по использованию:

  • Используйте для критически важного контента, который зависит от JavaScript
  • Предоставляйте осмысленную альтернативу, а не просто сообщение об ошибке
  • В сложных приложениях предлагайте ссылку на простую HTML-версию
  • Можно использовать для обнаружения отключенного JavaScript в CSS
  • Сочетайте с принципом прогрессивного улучшения

Современные практики:

  • В прогрессивных веб-приложениях (PWA) используйте для сообщения о необходимости JavaScript
  • Для аналитики можно отслеживать показы noscript-контента
  • В SSR (Server-Side Rendering) часто используется как fallback

Тег <noscript> остаётся важным инструментом для создания устойчивых веб-приложений, работающих даже в условиях ограничений или при отключенном JavaScript.


Атрибуты

accesskey Горячая клавиша для активации элемента
class CSS-классы для стилизации элемента
contenteditable Разрешает редактирование содержимого
data-* Пользовательские данные элемента
dir Направление текста (ltr|rtl)
hidden Скрывает элемент от отображения
id Уникальный идентификатор элемента
lang Язык содержимого элемента
spellcheck Включает проверку орфографии
style Инлайновые CSS-стили элемента
tabindex Порядок перехода при навигации по Tab
title Всплывающая подсказка для элемента
translate Определяет возможность перевода содержимого

Поддержка браузерами

4.0 1.0 4.0 1.0 1.0