Web Worker が利用不可?プラットフォーム・環境別トラブルシューティング
トラブルシューティングブラウザ互換性Web Worker
確認すべき症状
Any3D の下部に黄色い警告「現在のブラウザは Web Worker をサポートしていません」が表示される。プレビューは使えても、大ファイル処理でページがフリーズしやすくなり、テクスチャ圧縮や画像からモデルへの変換など、Worker を利用するパスが有効になりません。
Web Worker は、時間のかかる計算をバックグラウンドスレッドで実行可能にします。Any3D のテクスチャ圧縮や一部の変換処理は、Worker + OffscreenCanvas + createImageBitmap の3点セットに依存しています。
よくある原因
| 原因 | 典型的なシナリオ |
|---|---|
| 非セキュアコンテキスト | file:// で開いた、HTTP の内部ページ(localhost 除く) |
| 古いブラウザ / WebView | 古いシステムブラウザ、アプリ内蔵 WebView |
| CSP 制限 | 企業ポータル上の iframe、ゼロトラストクライアントによる worker-src 注入 |
| 拡張機能によるブロック | プライバシー拡張が Worker や blob: URL を阻止 |
| ネットワークキャッシュ異常 | プロキシ/VPN が不完全な Worker スクリプトを返す |
| デバイス管理制限 | 管理プロファイルによるバックグラウンドスクリプトの無効化 |
プラットフォーム別の切り分け
Windows
- 必ず HTTPS(
https://any3d.cc)でアクセスしてください。ローカルの HTML ファイルは使わないでください。 - Edge エンタープライズポリシー:
コンピュータ構成 → 管理用テンプレート → Microsoft Edgeで、Worker やサードパーティ Cookie(一部の Worker 読み込みに間接的に影響)が制限されていないか確認してください。 - Windows ファミリーセーフティ:子アカウントの Web 制限により、Worker 作成に失敗する可能性があります。
macOS
- Safari / Chrome とも、macOS 12 以降かつブラウザが最新バージョンである必要があります。
- スクリーンタイム → コンテンツとプライバシー →「成人向け Web サイトを制限」やカスタムフィルタが有効だと、Worker スクリプトのドメインを誤ってブロックする可能性があります。
- 会社の MDM 構成プロファイルで「クロスサイトトラッキング」以外のスクリプト機能が無効化されている場合は、IT 部門に問い合わせてください。
Linux
- アクセス URL が HTTPS であることを確認してください。企業の Squid プロキシは、
blob:やworker-srcに関連するリクエストを許可するように設定する必要があります。
iOS / Android
- LINE や SNS アプリの内蔵ブラウザで大ファイル処理を行わないでください。システムブラウザ(Safari / Chrome)で開いてください。
- iOS の低電力モードは通常 Worker を無効にしませんが、古い WebKit では API が不足している可能性があります。システムを最新に保ってください。
- 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 を変更する必要はありません。
段階的な修正(共通)
- HTTPS でアクセスしていることを確認し、ページを強制リロード(Ctrl+F5 / Cmd+Shift+R)します。
- シークレットウィンドウで拡張機能の影響を排除します。
- ブラウザと(Android の場合)システム WebView を更新します。
- 新しいタブで 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 を確認してもらうことで、バックグラウンド処理を復旧できるのが一般的です。