Kris

Web Worker недоступен? Диагностика по платформам и окружению

Устранение неполадокСовместимость с браузерамиWeb Worker

Что вы видите

Внизу интерфейса Any3D появляется жёлтое предупреждение: «Текущий браузер не поддерживает Web Worker». Предпросмотр может по-прежнему работать, но обработка больших файлов может подвешивать страницу, а такие функции, как сжатие текстур или конвертация изображений в 3D-модели, не будут задействовать Worker.

Web Worker позволяет выполнять ресурсоёмкие вычисления в фоновом потоке. Сжатие текстур и часть конвейера конвертации в Any3D полагаются на связку Worker + OffscreenCanvas + createImageBitmap.

Частые причины

ПричинаТипичный сценарий
Небезопасный контекстОткрытие через file://, HTTP-страницы (не localhost)
Устаревший браузер / WebViewСтарые системные браузеры, встроенные страницы в приложениях
Ограничения CSPКорпоративный портал в iframe, zero-trust-клиенты с worker-src
Блокировка расширениямиПриватные плагины блокируют Worker или blob: URL
Сбой сетевого кэшаПрокси/VPN возвращают неполный скрипт Worker
Политика устройстваУправляемые профили запрещают фоновые скрипты

Диагностика по платформам

Windows

  1. Обязательно используйте HTTPS (https://any3d.cc), не открывайте локальный HTML-файл.
  2. Корпоративные политики Edge: проверьте Computer Configuration → Administrative Templates → Microsoft Edge на предмет ограничений Worker или сторонних Cookie (косвенно влияют на загрузку Worker).
  3. Семейная безопасность Windows: веб-ограничения для детских учётных записей могут препятствовать созданию Worker.

macOS

  1. Для Safari / Chrome требуется macOS 12+ и актуальная версия браузера.
  2. Экранное время → Контент и конфиденциальность → если включено «Ограничить взрослые сайты» или пользовательские фильтры, домен скрипта Worker может быть ошибочно заблокирован.
  3. Если корпоративный MDM-профиль запрещает скриптовые возможности помимо «кросс-сайтового трекинга», обратитесь в IT.

Linux

  1. Убедитесь, что URL открыт по HTTPS; корпоративный прокси Squid должен разрешать запросы, связанные с blob: и worker-src.

iOS / Android

  1. Не выполняйте обработку больших файлов во встроенных браузерах мессенджеров (например, WhatsApp/Telegram) — используйте системный браузер.
  2. Режим низкого энергопотребления на iOS обычно не отключает Worker, но старые версии WebKit могут не иметь нужных API — обновляйте систему.
  3. Устаревший WebView на Android (системный WebView не обновлён) приводит к недоступности Worker: обновите «Android System WebView» в Play Store.

Сеть, VPN и корпоративные сети

СценарийОписание
Корпоративный VPNНекоторые VPN принудительно расшифровывают HTTPS и внедряют CSP; требуется разрешение IT для Worker
SSO-портал в iframeCSP внешней страницы может запрещать worker-src blob:; нужно отдельно настроить вложенную страницу или открывать Any3D в новой вкладке
Обратный проксиНеверная конфигурация Nginx/шлюза может привести к неправильному MIME-типу скрипта Worker
DNS-фильтрация на роутереРедко влияет на Worker, но если весь сайт понижается до HTTP-зеркала, Worker перестаёт работать

Самопроверка: отключите VPN, переключитесь на 4G/5G-хотспот и проверьте, исчезло ли предупреждение.

Справочник по CSP для IT

Если Any3D встраивается через iframe, рекомендуется разрешить:

worker-src 'self' blob:;
script-src 'self' 'unsafe-eval' blob:;

Обычным пользователям менять CSP вручную не нужно.

Пошаговое исправление (общее)

  1. Убедитесь, что доступ по HTTPS, обновите страницу (Ctrl+F5 / Cmd+Shift+R).
  2. Откройте окно инкогнито, чтобы исключить расширения.
  3. Обновите браузер и (на Android) системный WebView.
  4. Откройте Any3D в новой вкладке, избегая встраивания в корпоративный портал через iframe.

Быстрая самопроверка

typeof Worker !== "undefined";

Результат true означает лишь наличие API; для полного пути Worker в Any3D также требуются OffscreenCanvas и createImageBitmap.

Влияние при отсутствии Worker

ФункцияВлияние
Сжатие вершин (Draco и др.)Обычно работает (основной поток + WASM)
Сжатие текстур / KTX2Путь Worker недоступен, большие файлы могут подтормаживать
Изображение в 3D-модельВозможна деградация или значительное падение производительности

Итог

Предупреждение о Web Worker чаще всего вызвано не-HTTPS-доступом, устаревшим WebView, корпоративным CSP/VPN или блокировкой расширениями. Обновите браузер по платформе, проверьте сеть, попросите IT проверить iframe/CSP — и фоновая обработка обычно восстанавливается.

Поддержите нас