·Any3D Team
createImageBitmap 不可用?按平台与环境排查
troubleshootingbrowser-compatibilitycreateimagebitmap
你看到的症状
Any3D 提示「当前浏览器不支持 createImageBitmap」。这是 Worker 路径三件套之一,用于在后台高效解码图片像素。缺失后纹理压缩、图片转模型等流程无法走完整 Worker 路径,大文件更容易卡顿。
常见原因
| 原因 | 典型场景 |
|---|---|
| 浏览器/WebView 过旧 | 旧 Android WebView、App 内嵌页 |
| 非安全上下文 | HTTP 站点(非 localhost)、file:// |
| 跨域资源未正确配置 | 企业 CDN/CORS 导致图片解码失败(表现为功能异常) |
| 内存/标签页限制 | 移动低内存设备、企业「单标签」策略 |
| 扩展干扰 | 隐私插件修改 Image API 行为 |
按平台排查
Windows / macOS(桌面)
- 使用 Chrome / Edge / Firefox / Safari 最新稳定版。
- 必须通过 HTTPS 打开 Any3D。
- macOS 屏幕使用时间、Windows 家庭安全 若限制下载或媒体访问,可能影响大图解码——换管理员账户测试。
- 远程桌面:极高分辨率纹理在弱 GPU 环境可能解码失败,先用小图验证。
Linux
- 更新 Chrome/Firefox;Wayland 下若 GPU 解码异常,可尝试 X11 会话对比(少见)。
iOS / iPadOS
- Safari 14+ 起支持较好;保持 iOS 系统更新。
- 微信内置浏览器内核常滞后 → Safari 打开。
- iCloud 专用代理 / 限制成人内容 一般不挡 createImageBitmap,但会挡跨域图床——确保模型贴图同源或可访问。
Android
- 更新 Chrome 与 Android System WebView(设置 → 应用 → 显示系统应用)。
- 国产浏览器兼容模式 → 换 Chrome。
- 数字健康 / 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。
分步修复(通用)
- HTTPS + 最新浏览器 + 重启。
- 无痕窗口排除扩展。
- 系统浏览器打开,非 App WebView。
- 同时检查 Web Worker 与 OffscreenCanvas 是否也告警。
快速自测
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 图像路径通常可恢复。