Web Worker indisponível? Verifique por plataforma e ambiente
Sintomas que você vê
O Any3D exibe um aviso amarelo na parte inferior: "O navegador atual não suporta Web Worker". A pré-visualização pode continuar funcionando, mas o processamento de arquivos grandes pode travar a página, e os caminhos de Worker para compressão de texturas e conversão de imagens em modelos não podem ser ativados.
O Web Worker permite que cálculos pesados sejam executados em uma thread em segundo plano. A compressão de texturas e parte dos processos de conversão do Any3D dependem do trio Web Worker + OffscreenCanvas + createImageBitmap.
Causas comuns
| Causa | Cenário típico |
|---|---|
| Contexto não seguro | Abrido com file://, página em HTTP (não localhost) |
| Navegador antigo / WebView | Navegador do sistema antigo, página embutida em um aplicativo |
| Restrição de CSP | iframe de portal corporativo, cliente de confiança zero injeta worker-src |
| Bloqueio por extensão | Plugin de privacidade bloqueia Worker ou URL blob: |
| Anomalia de cache de rede | Proxy/VPN retorna script de Worker incompleto |
| Supervisão do dispositivo | Perfil gerenciado desabilita scripts em segundo plano |
Verificação por plataforma
Windows
- É obrigatório acessar via HTTPS (
https://any3d.cc); não use arquivos HTML locais. - Política corporativa do Edge: Verifique em
Configurações do Computador → Modelos Administrativos → Microsoft Edgese há restrições a Worker ou a cookies de terceiros (o que pode afetar indiretamente o carregamento de Worker). - Segurança Familiar do Windows: Restrições web na conta de um filho podem impedir a criação do Worker.
macOS
- Safari / Chrome exigem macOS 12+ e uma versão recente do navegador.
- Tempo de Uso da Tela → Conteúdo e Privacidade → Se "Restringir sites para adultos" ou filtragem personalizada estiver habilitado, pode bloquear por engano o domínio do script Worker.
- Se o perfil MDM da empresa desabilita capacidades de script além de "Rastreamento entre sites", entre em contato com o TI.
Linux
- Confirme que a URL de acesso é HTTPS; proxies corporativos Squid precisam permitir requisições relacionadas a
blob:eworker-src.
iOS / Android
- Não realize o processamento de arquivos grandes no navegador embutido do WeChat/DingTalk; abra no navegador do sistema.
- O Modo de Bateria Baixa do iOS geralmente não desabilita Workers, mas versões antigas do WebKit podem não ter a API—mantenha o sistema atualizado.
- Uma versão antiga do WebView do Android (o Android System WebView não atualizado) pode tornar o Worker indisponível: atualize o "Android System WebView" pela Play Store.
Rede, VPN e intranet corporativa
| Cenário | Descrição |
|---|---|
| VPN corporativa | Alguns VPNs forçam a descriptografia HTTPS e injetam CSP; é necessário que o TI libere o Worker |
| Portal SSO corporativo em iframe | O CSP da página externa pode proibir worker-src blob:; é necessário configurar separadamente a página embutida ou abrir o Any3D em nova aba |
| Proxy reverso | Configuração incorreta do Nginx/gateway pode resultar em tipo MIME errado para o script Worker |
| Filtro DNS de roteador parental | Raro afetar Workers, mas se o site inteiro for degradado para um espelho HTTP, o Worker falhará |
Autoteste: Desconecte-se da VPN, mude para um hotspot 4G/5G e veja se o aviso desaparece.
Referência de CSP corporativo (para TI)
Se o Any3D for embutido em um iframe, recomenda-se permitir:
worker-src 'self' blob:;
script-src 'self' 'unsafe-eval' blob:;
Usuários pessoais não precisam alterar manualmente o CSP.
Correção passo a passo (geral)
- Confirme o acesso via HTTPS e atualize a página (Ctrl+F5 / Cmd+Shift+R).
- Use uma janela anônima para excluir extensões.
- Atualize o navegador e o WebView do sistema (Android).
- Abra o Any3D em nova aba para evitar ser embutido em um iframe de portal corporativo.
Autoteste rápido
typeof Worker !== "undefined"
Retornar true indica apenas que a API existe; o Any3D também precisa do OffscreenCanvas e do createImageBitmap para percorrer o caminho completo do Worker.
Impacto quando não há Worker
| Funcionalidade | Impacto |
|---|---|
| Compressão de vértices (Draco, etc.) | Geralmente ainda funciona (thread principal + WASM) |
| Compressão de texturas / KTX2 | Caminho do Worker indisponível; arquivos grandes podem travar |
| Conversão de imagem em modelo | Pode ser degradado ou ter desempenho significativamente reduzido |
Resumo
O aviso de Web Worker geralmente se origina em HTTPS não usado, WebView antiga, CSP/VPN corporativos ou bloqueio por extensões. Atualize o navegador por plataforma, teste com outra rede e peça ao TI para verificar o iframe/CSP para restaurar a capacidade de processamento em segundo plano.