Any3DAny3D
·Any3D Team

Web Worker 無法使用?依平台與環境排查

troubleshootingbrowser-compatibilityweb-worker

你看到的症狀

Any3D 底部出現黃色警告:「目前瀏覽器不支援 Web Worker」。預覽可能仍可使用,但大檔案處理容易導致頁面卡死,紋理壓縮、圖片轉模型等 Worker 路徑無法啟用。

Web Worker 讓耗時計算在背景執行緒運行。Any3D 的紋理壓縮與部分轉換流程依賴 Worker + OffscreenCanvas + createImageBitmap 三件套。

常見原因

原因典型場景
非安全上下文file:// 開啟、HTTP 內網頁(非 localhost)
瀏覽器過舊 / WebView舊版系統瀏覽器、App 內嵌頁
CSP 限制企業門戶 iframe、零信任客戶端注入 worker-src
擴充套件攔截隱私外掛程式阻止 Worker 或 blob: URL
網路快取異常代理/VPN 返回不完整 Worker 腳本
裝置監管託管設定檔停用背景腳本

依平台排查

Windows

  1. 必須透過 HTTPShttps://any3d.cc)存取,不要使用本地 HTML 檔案。
  2. Edge 企業原則:在 Computer Configuration → Administrative Templates → Microsoft Edge 中檢查是否限制 Worker 或第三方 Cookie(間接影響部分 Worker 載入)。
  3. Windows 家庭安全:子帳戶 Web 限制可能導致 Worker 建立失敗。

macOS

  1. Safari / Chrome 均需 macOS 12+ 且瀏覽器為近期版本。
  2. 螢幕使用時間 → 內容與隱私 → 若啟用「限制成人網站」或自訂過濾,可能誤傷 Worker 腳本網域。
  3. 公司 MDM 設定檔若停用「跨站點追蹤」以外的腳本能力,請聯繫 IT。

Linux

  1. 確認存取 URL 為 HTTPS;企業 Squid 代理需允許 blob:worker-src 相關請求。

iOS / Android

  1. 不要在微信/釘釘內建瀏覽器完成大檔案處理;請使用系統瀏覽器開啟。
  2. iOS 低耗電模式通常不禁 Worker,但舊版 WebKit 可能缺少 API——請保持系統更新。
  3. Android WebView 版本過舊(系統 WebView 未更新)會導致 Worker 無法使用:請至 Play 商店更新「Android System WebView」。

網路、VPN 與企業內網

場景說明
公司 VPN部分 VPN 強制 HTTPS 解密並注入 CSP,需 IT 放行 Worker
內網 SSO 門戶 iframe外層頁面 CSP 可能禁止 worker-src blob:,需嵌套頁面單獨設定或在新分頁開啟 Any3D
反向代理Nginx/閘道器錯誤設定可能導致 Worker 腳本 MIME 類型不正確
家長路由器 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 存在;Any3D 還需 OffscreenCanvas 與 createImageBitmap 齊備才會完整執行 Worker 路徑。

沒有 Worker 時的影響

功能影響
頂點壓縮(Draco 等)通常仍可使用(主執行緒 + WASM)
紋理 / KTX2 壓縮Worker 路徑無法使用,大檔案易卡頓
圖片轉模型可能降階或效能顯著下降

小結

Web Worker 警告多源於 非 HTTPS、舊版 WebView、企業 CSP/VPN、擴充套件攔截。依平台更新瀏覽器、更換網路驗證、請 IT 檢查 iframe/CSP,通常可恢復背景處理能力。

贊助支持