Kris

createImageBitmap non disponibile? Diagnostica per piattaforma e ambiente

Risoluzione problemiCompatibilità browsercreateImageBitmap

I sintomi che vedi

Any3D mostra l'avviso «Il browser corrente non supporta createImageBitmap». Si tratta di uno dei tre requisiti del percorso Worker, usato per decodificare i pixel delle immagini in modo efficiente in background. Se manca, flussi come compressione texture o conversione immagine→modello non possono sfruttare appieno il percorso Worker, e i file più grandi tendono a bloccarsi.

Cause più comuni

CausaScenario tipico
Browser/WebView obsoletoVecchie WebView Android, pagine incorporate in app
Contesto non sicuroSito HTTP (diverso da localhost), file://
Risorse cross-origin mal configurateCDN aziendali/CORS che impediscono la decodifica (il problema si manifesta come malfunzionamento)
Limiti di memoria/schedeDispositivi mobili con poca RAM, criteri aziendali «una sola scheda»
Interferenza di estensioniPlugin privacy che alterano il comportamento dell'API Image

Diagnostica per piattaforma

Windows / macOS (desktop)

  1. Usa la versione stabile più recente di Chrome / Edge / Firefox / Safari.
  2. Apri Any3D solo via HTTPS.
  3. Se hai Tempo di utilizzo su macOS o Controllo famiglia su Windows con limiti a download o accesso ai media, la decodifica di immagini grandi potrebbe risentirne: prova con un account amministratore.
  4. Desktop remoto: con GPU debole, texture ad altissima risoluzione possono non decodificare. Verifica prima con un'immagine piccola.

Linux

  1. Aggiorna Chrome/Firefox; se su Wayland la decodifica GPU dà problemi, puoi provare una sessione X11 (raro).

iOS / iPadOS

  1. Safari 14+ supporta bene l'API; mantieni iOS aggiornato.
  2. Il browser integrato di alcune app (es. WhatsApp) usa WebView datate → apri in Safari.
  3. Proxy privato iCloud / Limita contenuti adulti di solito non bloccano createImageBitmap, ma possono bloccare immagini cross-origin: assicurati che le texture del modello siano same-origin o raggiungibili.

Android

  1. Aggiorna Chrome e Android System WebView (Impostazioni → App → Mostra app di sistema).
  2. Browser alternativi in «modalità compatibilità» → prova con Chrome.
  3. Benessere digitale / Family Link non bloccano direttamente l'API se limitano le attività in background, ma potrebbero impedire l'upload di file grandi.

Rete, VPN e rete aziendale

ScenarioDescrizione
VPN aziendaleSe le texture del modello passano da una CDN interna, errori CORS o certificati causano il fallimento della decodifica: nella Console vedrai errori di rete
Proxy trasparenteSe riscrive o corrompe le risposte delle immagini, createImageBitmap può andare in reject
Solo HTTP in LANContesto non sicuro: l'API potrebbe non essere disponibile o avere comportamenti limitati
Zero trust / SSL inspectionI certificati auto-firmati vanno importati come attendibili, altrimenti le risorse non si caricano

Suggerimento: disattiva la VPN, passa a una rete mobile, e prova a caricare un modello geometrico puro senza texture esterne — se il modello semplice funziona ma quello con texture fallisce, il problema è quasi certamente di rete/CORS.

Criteri aziendali e controllo genitori

  • Intune App Protection può limitare «Salva con nome/Download», influendo indirettamente sulla scelta dei file, ma l'API dovrebbe comunque esistere: verifica dalla Console per distinguere.
  • iPad gestiti da scuola: il blocco dell'app File non tocca l'API, ma cambia le modalità di upload; usa il canale di caricamento consentito.
  • DNS con controllo genitori sul router: se intercetta il dominio di Any3D, l'intero sito non funziona, non solo createImageBitmap.

Risoluzione passo passo (generica)

  1. HTTPS + browser aggiornato + riavvio.
  2. Finestra in incognito per escludere le estensioni.
  3. Usa il browser di sistema, non una WebView interna all'app.
  4. Controlla anche gli avvisi per Web Worker e OffscreenCanvas.

Autotest rapido

typeof createImageBitmap !== "undefined";

Test avanzato (richiede HTTPS e un'immagine accessibile):

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

In sintesi

Il problema di createImageBitmap è quasi sempre dovuto a WebView obsolete, mancanza di HTTPS, o risorse che falliscono via VPN/rete aziendale. Aggiorna la WebView per piattaforma, cambia rete per verificare ed escludi le estensioni: il percorso Worker per le immagini di solito si ripristina.

Supportaci