Web Worker Unavailable? Troubleshoot by Platform and Environment
Symptoms You'll See
A yellow banner appears at the bottom of Any3D: "Your browser does not support Web Worker." Preview may still work, but large files can freeze the page, and Worker-based paths like texture compression and image-to-model conversion won't be available.
Web Worker lets heavy computation run on background threads. Any3D's texture compression and parts of its conversion pipeline rely on the Worker + OffscreenCanvas + createImageBitmap trio.
Common Causes
| Cause | Typical Scenario |
|---|---|
| Not a secure context | Opened via file://, or served over HTTP (non-localhost) |
| Outdated browser / WebView | Old system browser, in-app embedded pages |
| CSP restrictions | Enterprise portal iframe, zero-trust clients injecting worker-src |
| Extension blocking | Privacy plugins blocking Worker or blob: URLs |
| Network cache issues | Proxy/VPN returning incomplete Worker scripts |
| Device management | Managed profiles disabling background scripts |
Troubleshoot by Platform
Windows
- Access Any3D over HTTPS (
https://any3d.cc) — don't use a local HTML file. - Edge enterprise policies: Check
Computer Configuration → Administrative Templates → Microsoft Edgefor restrictions on Worker or third-party cookies (which can indirectly affect some Worker loading). - Windows Family Safety: Web restrictions on child accounts can cause Worker creation to fail.
macOS
- Safari and Chrome both require macOS 12+ and a recent browser version.
- Screen Time → Content & Privacy: if "Limit Adult Websites" or custom filtering is enabled, it may inadvertently block Worker script domains.
- If a company MDM profile blocks scripting capabilities beyond "Prevent cross-site tracking," contact IT.
Linux
- Make sure the URL is HTTPS; corporate Squid proxies need to allow
blob:andworker-srcrelated requests.
iOS / Android
- Don't process large files inside in-app browsers (WeChat, DingTalk, etc.); open the link in the system browser.
- iOS Low Power Mode usually does not disable Workers directly, but older WebKit engines may lack modern APIs—keep your iOS updated.
- Outdated Android WebView versions can cause Workers to fail: update "Android System WebView" in the Google Play Store.
Networks, VPNs, and Corporate Intranets
| Scenario | Details |
|---|---|
| Corporate VPN | Some VPNs enforce SSL inspection and inject restrictive CSPs; IT needs to allow Workers |
| Intranet SSO portal iframe | Parent page CSP may forbid worker-src blob:; configure iframe separately or open Any3D in a new tab |
| Reverse proxy | Nginx/gateway misconfigurations may serve Worker scripts with incorrect MIME types |
| Router parental controls | Rare for Workers directly, but downgrading to HTTP mirrors will disable Workers |
Quick test: Disconnect from VPN or switch to a cellular hotspot to see if the warning disappears.
Enterprise CSP Reference (for IT)
If Any3D is embedded via iframe, ensure the following headers are allowed:
worker-src 'self' blob:;
script-src 'self' 'unsafe-eval' blob:;
Individual users do not need to configure CSP manually.
Step-by-Step Fix (Universal)
- Verify you are using HTTPS and hard refresh the page (Ctrl+F5 / Cmd+Shift+R).
- Use Incognito / Private mode to rule out browser extensions.
- Update your browser and (on Android) update the System WebView.
- Open Any3D directly in a new tab instead of embedding inside an enterprise portal iframe.
Quick Self-Test
typeof Worker !== "undefined";
Returning true indicates the API exists, though Any3D also requires OffscreenCanvas and createImageBitmap for full Worker pipeline capabilities.
Impact Without Web Worker
| Feature | Impact |
|---|---|
| Vertex compression (Draco, etc.) | Usually still works (main thread + WASM) |
| Texture / KTX2 compression | Worker path unavailable; large files may freeze UI |
| Image-to-model conversion | Degraded or noticeably slower performance |
Summary
Web Worker warnings typically stem from non-HTTPS origins, outdated WebViews, enterprise CSP/VPN restrictions, or extension blocking. Updating browsers per platform, testing outside corporate networks, and verifying iframe/CSP configurations usually restores background computing capabilities.