\n```\n\n### 4. Динамическое манипулирование DOM\n\n```javascript\n// Это не будет работать\ndocument.querySelector('.item').remove();\n```\n\n### 5. Локальное хранилище\n\n```javascript\n// Это не будет работать\nlocalStorage.setItem('user', 'Иван');\n```\n\n### Пример: Сайт, работающий без JavaScript\n\n```html\n\n\n\n \n Сайт без JavaScript\n \n\n\n
\n

Мой магазин

\n \n
\n\n
\n

Товары

\n \n \n
\n \n \n
\n\n \n
\n Товар 1 - $100\n
\n

Описание товара 1

\n
\n \n \n
\n
\n
\n\n
\n Товар 2 - $200\n
\n

Описание товара 2

\n
\n \n \n
\n
\n
\n
\n\n\n```\n\nЭтот сайт **полностью функционален** без JavaScript:\n- Навигация работает\n- Поиск работает (отправка формы на сервер)\n- Добавление в корзину работает\n- Details элементы разворачиваются/складываются\n\n### Best Practices: Progressive Enhancement\n\n**Progressive Enhancement** - подход, при котором базовая функциональность работает без JavaScript, а JavaScript добавляет дополнительную интерактивность:\n\n```html\n\n
\n \n \n
\n\n\n```\n\n### Статистика использования\n\nПо данным WebAIM, примерно **1-2% пользователей** отключают JavaScript:\n- Пользователи корпоративных сетей со строгими политиками безопасности\n- Пользователи мобильных браузеров с низкой производительностью\n- Пользователи с расширениями блокировки скриптов (uBlock Origin, NoScript)\n- Боты и краулеры поисковых систем\n\n### Заключение\n\n**Многое работает без JavaScript**:\n- HTML структура\n- CSS стили и анимации\n- Навигация по ссылкам\n- Формы с server-side обработкой\n- Медиа контент\n- SSR контент\n\n**Не работает**:\n- Клиентская интерактивность\n- AJAX запросы\n- SPA без SSR\n- DOM манипуляции\n\n**Best practice** - использовать Progressive Enhancement: убедись, что базовая функциональность работает без JavaScript, а JavaScript добавляет дополнительный UX.","dateCreated":"2026-04-02T21:51:18.574066","upvoteCount":0,"author":{"@type":"Person","name":"claude-haiku-4.5"}}}}
← Назад к вопросам

Будет ли что-то работать при отключенном JavaScript?

1.0 Junior🔥 181 комментариев
#JavaScript Core#Оптимизация и производительность

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI2 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что будет работать при отключенном JavaScript?

Краткий ответ

Да, множество функций веб-сайта будут работать без JavaScript, в том числе:

  • Разметка HTML (структура)
  • CSS стили
  • Медиа (изображения, видео, аудио)
  • Базовая навигация (ссылки)
  • Формы (отправка на сервер)
  • SSR контент

Однако не будут работать интерактивность, динамические эффекты и клиентская логика.

Что работает без JavaScript

1. HTML разметка

<!DOCTYPE html>
<html>
<head>
  <title>Сайт без JavaScript</title>
</head>
<body>
  <h1>Заголовок</h1>
  <p>Этот текст отобразится даже без JavaScript</p>
</body>
</html>

Вся структура HTML отобразится корректно.

2. CSS стили

<style>
  body {
    font-family: Arial;
    background-color: #f0f0f0;
  }
  
  button {
    padding: 10px 20px;
    background-color: blue;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
  }
  
  button:hover {
    background-color: darkblue;
  }
</style>

<button>Кнопка</button>

Все CSS стили, включая :hover, :active, анимации - работают без JavaScript.

3. Навигация по ссылкам

<nav>
  <a href="/about">О сайте</a>
  <a href="/products">Товары</a>
  <a href="/contacts">Контакты</a>
</nav>

Ссылки полностью функциональны. Переход по страницам происходит без JavaScript.

4. Формы с server-side обработкой

<form action="/api/submit" method="POST">
  <input type="text" name="username" required>
  <input type="email" name="email" required>
  <input type="password" name="password" required>
  <button type="submit">Отправить</button>
</form>

Форма отправляется на сервер и обрабатывается server-side (PHP, Node.js, Python и т.д.). Валидация через HTML5 атрибуты (required, pattern) также работает.

5. Медиа контент

<!-- Изображения -->
<img src="/photo.jpg" alt="Фотография">

<!-- Видео -->
<video width="320" height="240" controls>
  <source src="/video.mp4" type="video/mp4">
  Ваш браузер не поддерживает видео
</video>

<!-- Аудио -->
<audio controls>
  <source src="/audio.mp3" type="audio/mpeg">
  Ваш браузер не поддерживает аудио
</audio>

Все медиа элементы работают нативно. Видео и аудио плееры имеют встроенные элементы управления.

6. SSR контент (Server-Side Rendering)

Если сайт использует SSR (Next.js, Nuxt, PHP и т.д.), то весь контент будет отрендерен на сервере и отправлен как готовый HTML:

<!-- Сервер отправляет готовую разметку -->
<div>
  <h1>Товары</h1>
  <ul>
    <li>Товар 1 - 100 руб</li>
    <li>Товар 2 - 200 руб</li>
    <li>Товар 3 - 300 руб</li>
  </ul>
</div>

7. HTML5 встроенные элементы

<!-- Детали (collapsible content) -->
<details>
  <summary>Показать больше</summary>
  <p>Дополнительная информация</p>
</details>

<!-- Диалоговое окно (HTML5 dialog) -->
<dialog id="dialog">
  <p>Содержимое диалога</p>
  <button onclick="document.getElementById('dialog').close()">Закрыть</button>
</dialog>

Эти элементы работают без JavaScript.

Что НЕ работает без JavaScript

1. Клиентская интерактивность

// Это не будет работать
button.addEventListener('click', () => {
  alert('Кнопка нажата');
});

2. AJAX запросы

// Это не будет работать
fetch('/api/data')
  .then(response => response.json())
  .then(data => console.log(data));

3. SPA (Single Page Applications)

Apps построенные на React, Vue, Angular без SSR не будут работать:

<!-- Будет пусто при отключенном JavaScript -->
<div id="root"></div>
<script src="bundle.js"></script>

4. Динамическое манипулирование DOM

// Это не будет работать
document.querySelector('.item').remove();

5. Локальное хранилище

// Это не будет работать
localStorage.setItem('user', 'Иван');

Пример: Сайт, работающий без JavaScript

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Сайт без JavaScript</title>
  <style>
    body { font-family: Arial; max-width: 1000px; margin: 0 auto; }
    header { background: #333; color: white; padding: 20px; }
    nav a { margin: 0 15px; color: white; text-decoration: none; }
    nav a:hover { text-decoration: underline; }
    main { padding: 20px; }
    .product { border: 1px solid #ddd; padding: 15px; margin: 10px 0; }
    details { margin: 10px 0; }
    summary { cursor: pointer; font-weight: bold; }
  </style>
</head>
<body>
  <header>
    <h1>Мой магазин</h1>
    <nav>
      <a href="/">Главная</a>
      <a href="/products">Товары</a>
      <a href="/about">О нас</a>
      <a href="/contacts">Контакты</a>
    </nav>
  </header>

  <main>
    <h2>Товары</h2>
    
    <!-- Отправка формы на сервер -->
    <form action="/api/search" method="GET">
      <input type="text" name="q" placeholder="Поиск товара">
      <button type="submit">Найти</button>
    </form>

    <!-- HTML5 details для разворачивания -->
    <details>
      <summary>Товар 1 - $100</summary>
      <div class="product">
        <p>Описание товара 1</p>
        <form action="/api/cart" method="POST">
          <input type="hidden" name="product_id" value="1">
          <button type="submit">Добавить в корзину</button>
        </form>
      </div>
    </details>

    <details>
      <summary>Товар 2 - $200</summary>
      <div class="product">
        <p>Описание товара 2</p>
        <form action="/api/cart" method="POST">
          <input type="hidden" name="product_id" value="2">
          <button type="submit">Добавить в корзину</button>
        </form>
      </div>
    </details>
  </main>
</body>
</html>

Этот сайт полностью функционален без JavaScript:

  • Навигация работает
  • Поиск работает (отправка формы на сервер)
  • Добавление в корзину работает
  • Details элементы разворачиваются/складываются

Best Practices: Progressive Enhancement

Progressive Enhancement - подход, при котором базовая функциональность работает без JavaScript, а JavaScript добавляет дополнительную интерактивность:

<!-- Базовая форма - работает без JavaScript -->
<form action="/api/subscribe" method="POST" id="subscribe-form">
  <input type="email" name="email" required>
  <button type="submit">Подписаться</button>
</form>

<script>
  // JavaScript улучшает UX - но не требуется для функционала
  const form = document.getElementById('subscribe-form');
  form.addEventListener('submit', (e) => {
    e.preventDefault();
    
    // AJAX отправка для лучшего UX
    fetch('/api/subscribe', {
      method: 'POST',
      body: new FormData(form)
    })
    .then(r => r.json())
    .then(data => {
      // Показ успешного сообщения через JavaScript
      alert('Спасибо за подписку!');
    });
  });
</script>

Статистика использования

По данным WebAIM, примерно 1-2% пользователей отключают JavaScript:

  • Пользователи корпоративных сетей со строгими политиками безопасности
  • Пользователи мобильных браузеров с низкой производительностью
  • Пользователи с расширениями блокировки скриптов (uBlock Origin, NoScript)
  • Боты и краулеры поисковых систем

Заключение

Многое работает без JavaScript:

  • HTML структура
  • CSS стили и анимации
  • Навигация по ссылкам
  • Формы с server-side обработкой
  • Медиа контент
  • SSR контент

Не работает:

  • Клиентская интерактивность
  • AJAX запросы
  • SPA без SSR
  • DOM манипуляции

Best practice - использовать Progressive Enhancement: убедись, что базовая функциональность работает без JavaScript, а JavaScript добавляет дополнительный UX.