Web Worker недоступен? Диагностика по платформе и среде
Какие симптомы вы видите
Внизу Any3D появляется жёлтое предупреждение: «Текущий браузер не поддерживает Web Worker». Предпросмотр может работать, но обработка больших файлов часто приводит к зависанию страницы, а пути 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 отключает скриптовые возможности, помимо «межсайтового отслеживания», обратитесь в ИТ-отдел.
Linux
- Убедитесь, что URL использует HTTPS; корпоративные прокси Squid должны разрешать запросы
blob:иworker-src.
iOS / Android
- Не обрабатывайте большие файлы во встроенных браузерах WeChat/DingTalk; используйте системный браузер.
- Режим низкого заряда iOS обычно не блокирует Worker, но старый WebKit может не иметь нужных API — обновляйте систему.
- Устаревшая версия WebView на Android (системный WebView без обновлений) делает Worker недоступным: обновите «Android System WebView» из Play Store.
Сеть, VPN и корпоративная интранет
| Сценарий | Пояснение |
|---|---|
| Корпоративный VPN | Некоторые VPN принудительно расшифровывают HTTPS и инжектируют CSP; необходимо разрешение Worker от ИТ-отдела |
| SSO-портал интранета в iframe | CSP внешней страницы может запрещать worker-src blob:; необходимо отдельная настройка вложенной страницы или открытие Any3D в новой вкладке |
| Обратный прокси | Неправильная настройка Nginx/шлюза может привести к некорректному MIME-типу скрипта Worker |
| DNS-фильтрация роутерами родительского контроля | Редко влияет на Worker, но если сайт переведён на HTTP-зеркало, Worker перестанет работать |
Самопроверка: Отключите VPN, переключитесь на мобильный热点 4G/5G, проверьте, исчезло ли предупреждение.
Справочник по корпоративному CSP (для ИТ)
Если 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; Any3D также требует, чтобы OffscreenCanvas и createImageBitmap были полностью доступны для использования полного пути Worker.
Последствия отсутствия Worker
| Функция | Влияние |
|---|---|
| Сжатие геометрии (Draco и др.) | Обычно доступно (главный поток + WASM) |
| Сжатие текстур (KTX2) | Путь Worker недоступен, большие файлы могут вызывать зависания |
| Конвертация изображений в модели | Возможно ухудшение производительности или понижение качества |
Итог
Предупреждения Web Worker чаще всего вызваны незащищённым HTTP, устаревшим WebView, корпоративным CSP/VPN, блокировкой расширениями. Обновите браузер по платформе, проверьте другую сеть и попросите ИТ-отдел проверить iframe/CSP — это обычно восстанавливает фоновую обработку.