Any3DAny3D
·Any3D Team

createImageBitmap 不可用?按平台與環境排查

troubleshootingbrowser-compatibilitycreateimagebitmap

你看到的症狀

Any3D 提示「當前瀏覽器不支援 createImageBitmap」。這是 Worker 路徑三件套之一,用於在後台高效解碼圖片像素。缺失後紋理壓縮、圖片轉模型等流程無法走完整 Worker 路徑,大檔案更容易卡頓。

常見原因

原因典型場景
瀏覽器/WebView 過舊舊版 Android WebView、App 內嵌頁
非安全上下文HTTP 站點(非 localhost)、file://
跨域資源未正確配置企業 CDN/CORS 導致圖片解碼失敗(表現為功能異常)
內存/標籤頁限制移動低記憶體裝置、企業「單標籤」策略
擴充干擾隱私外掛程式修改 Image API 行為

按平台排查

Windows / macOS(桌面)

  1. 使用 Chrome / Edge / Firefox / Safari 最新穩定版
  2. 必須透過 HTTPS 開啟 Any3D。
  3. macOS 螢幕使用時間Windows 家庭安全 若限制下載或媒體存取,可能影響大圖解碼——換管理員帳戶測試。
  4. 遠端桌面:極高解析度紋理在弱 GPU 環境可能解碼失敗,先用小圖驗證。

Linux

  1. 更新 Chrome/Firefox;Wayland 下若 GPU 解碼異常,可嘗試 X11 會話對比(少見)。

iOS / iPadOS

  1. Safari 14+ 起支援較好;保持 iOS 系統更新。
  2. 微信內建瀏覽器核心常滯後 → Safari 開啟
  3. iCloud 專用代理 / 限制成人內容 一般不擋 createImageBitmap,但會擋跨域圖床——確保模型貼圖同源或可存取。

Android

  1. 更新 ChromeAndroid System WebView(設定 → 應用 → 顯示系統應用)。
  2. 國產瀏覽器相容模式 → 換 Chrome。
  3. 數位健康 / Family Link 限制背景活動時不直接影響 API,但可能阻止大檔案上傳。

網路、VPN 與企業內網

場景說明
公司 VPN若模型貼圖走內網 CDN,CORS 或憑證錯誤會導致 decode 失敗——Console 會有網路報錯
透明代理替換或損壞圖片回應時,createImageBitmap 可能 reject
內網僅 HTTP非 secure context,API 可能不可用或行為受限
零信任 / SSL inspection自簽憑證需匯入信任,否則資源載入失敗

建議:斷開 VPN、換熱點,上傳無外部貼圖的純幾何模型測試——若純幾何正常而帶貼圖失敗,優先查網路/CORS。

企業策略與家長控制

  • Intune App Protection 可能限制「另存為/下載」,間接影響使用者選圖流程,但 API 本身仍應存在——用 Console 自測區分。
  • 學校 iPad 監管:禁止「檔案 App」時不影響 API,但影響上傳方式;改用支援的上傳管道。
  • 路由器家長控制 DNS:若攔截 Any3D 網域,整站不可用,而非單獨 createImageBitmap。

分步修復(通用)

  1. HTTPS + 最新瀏覽器 + 重啟。
  2. 無痕視窗排除擴充。
  3. 系統瀏覽器開啟,非 App WebView。
  4. 同時檢查 Web WorkerOffscreenCanvas 是否也告警。

快速自測

typeof createImageBitmap !== "undefined"

進階(需 HTTPS 與一張可存取的圖片 URL):

fetch("https://example.com/favicon.ico")
  .then((r) => r.blob())
  .then((b) => createImageBitmap(b))
  .then(() => console.log("ok"))
  .catch(console.error);

小結

createImageBitmap 問題多為 舊 WebView、非 HTTPS、VPN/內網導致資源載入失敗。按平台更新 WebView、換網路驗證、排除擴充後,Worker 圖像路徑通常可恢復。

贊助支持