Kris

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

  1. 必ず HTTPShttps://any3d.cc)でアクセスしてください。ローカルの HTML ファイルは使わないでください。
  2. Edge エンタープライズポリシーコンピュータ構成 → 管理用テンプレート → Microsoft Edge で、Worker やサードパーティ Cookie(一部の Worker 読み込みに間接的に影響)が制限されていないか確認してください。
  3. Windows ファミリーセーフティ:子アカウントの Web 制限により、Worker 作成に失敗する可能性があります。

macOS

  1. Safari / Chrome とも、macOS 12 以降かつブラウザが最新バージョンである必要があります。
  2. スクリーンタイム → コンテンツとプライバシー →「成人向け Web サイトを制限」やカスタムフィルタが有効だと、Worker スクリプトのドメインを誤ってブロックする可能性があります。
  3. 会社の MDM 構成プロファイルで「クロスサイトトラッキング」以外のスクリプト機能が無効化されている場合は、IT 部門に問い合わせてください。

Linux

  1. アクセス URL が HTTPS であることを確認してください。企業の Squid プロキシは、blob:worker-src に関連するリクエストを許可するように設定する必要があります。

iOS / Android

  1. LINE や SNS アプリの内蔵ブラウザで大ファイル処理を行わないでください。システムブラウザ(Safari / Chrome)で開いてください。
  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 を確認してもらうことで、バックグラウンド処理を復旧できるのが一般的です。

応援する