Mondo Vivo — generatore

Seleziona il file originale citta-core.html. Il generatore produrrà un unico file mondo-vivo.html.

Il file originale non viene modificato.

In attesa del file originale…
", nome:"chiusura body" }, { testo:"", nome:"chiusura HTML" } ]; for (const controllo of controlli){ if (!html.includes(controllo.testo)){ throw new Error( "Controllo fallito: " + controllo.nome ); } } const scriptAperti = (html.match(//gi) || []).length; if (scriptAperti !== scriptChiusi){ throw new Error( "Tag script non bilanciati: " + scriptAperti + " aperti e " + scriptChiusi + " chiusi." ); } const canvasAperti = (html.match(//gi) || []).length; if (canvasAperti !== canvasChiusi){ throw new Error( "Tag canvas non bilanciati." ); } /* Scaricamento. */ const blob = new Blob( [html], { type:"text/html;charset=utf-8" } ); const indirizzo = URL.createObjectURL(blob); const collegamento = document.createElement("a"); collegamento.href=indirizzo; collegamento.download="mondo-vivo.html"; collegamento.style.display="none"; document.body.appendChild(collegamento); collegamento.click(); collegamento.remove(); setTimeout(() => { URL.revokeObjectURL(indirizzo); }, 5000); messaggio( "File generato correttamente.", "ok" ); messaggio( "Nome: mondo-vivo.html", "ok" ); messaggio( "Dimensione finale: " + (html.length/1024).toFixed(1) + " KB", "ok" ); messaggio( "Controlli inclusi: collisioni, salto multitouch, " + "animazione salto, cielo dinamico e minimappa.", "ok" ); messaggio( "Nota multiplayer: il server deve usare lo stesso " + "core PROTO 8.", "avviso" ); }catch (errore){ messaggio( "GENERAZIONE INTERROTTA", "errore" ); messaggio( errore.message, "errore" ); messaggio( "Non è stato scaricato alcun file parziale.", "errore" ); }finally{ pulsanteGenera.disabled = !sorgente; } });