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
- Обязательно используйте HTTPS (
https://any3d.cc), не открывайте локальный HTML-файл. - Корпоративные политики Edge: проверьте
Computer Configuration → Administrative Templates → Microsoft Edgeна предмет ограничений Worker или сторонних Cookie (косвенно влияют на загрузку Worker). - Семейная безопасность Windows: веб-ограничения для детских учётных записей могут препятствовать созданию Worker.
macOS
- Для Safari / Chrome требуется macOS 12+ и актуальная версия браузера.
- Экранное время → Контент и конфиденциальность → если включено «Ограничить взрослые сайты» или пользовательские фильтры, домен скрипта Worker может быть ошибочно заблокирован.
- Если корпоративный MDM-профиль запрещает скриптовые возможности помимо «кросс-сайтового трекинга», обратитесь в IT.
Linux
- Убедитесь, что URL открыт по HTTPS; корпоративный прокси Squid должен разрешать запросы, связанные с
blob:иworker-src.
iOS / Android
- Не выполняйте обработку больших файлов во встроенных браузерах мессенджеров (например, WhatsApp/Telegram) — используйте системный браузер.
- Режим низкого энергопотребления на iOS обычно не отключает Worker, но старые версии WebKit могут не иметь нужных API — обновляйте систему.
- Устаревший WebView на Android (системный WebView не обновлён) приводит к недоступности Worker: обновите «Android System WebView» в Play Store.
Сеть, VPN и корпоративные сети
| Сценарий | Описание |
|---|---|
| Корпоративный VPN | Некоторые VPN принудительно расшифровывают HTTPS и внедряют CSP; требуется разрешение IT для Worker |
| SSO-портал в iframe | CSP внешней страницы может запрещать 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 вручную не нужно.
Пошаговое исправление (общее)
- Убедитесь, что доступ по HTTPS, обновите страницу (Ctrl+F5 / Cmd+Shift+R).
- Откройте окно инкогнито, чтобы исключить расширения.
- Обновите браузер и (на Android) системный WebView.
- Откройте 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 — и фоновая обработка обычно восстанавливается.