Crei qualcosa nel WebViewer che fa esattamente quello che deve fare. Timeline perfetta. JavaScript che gira. Interazioni fluide. Sei felice. Funziona tutto.
Poi pubblichi su WebDirect. E invece del rendering… ti parte il download dell’HTML.
Silenzio. Inizi a pensare: problema di server, problema di certificato, problema di WebDirect, problema misterioso che ti farà perdere mezza giornata.
No. È una riga.
Se stai usando il WebViewer così:
"data:text/html," & $html
e per errore hai scritto data:txt/html oppure data:text/thml, hai appena cambiato completamente il comportamento del motore. Non è più HTML valido. E WebDirect non lo renderizza.
Il punto è questo: il WebViewer non è un campo di testo evoluto. È un motore browser. Quando scrivi data:text/html stai dichiarando uno standard web. Una lettera sbagliata cambia il comportamento.
E no: non serve codificare tutto con GetAsURLEncoded. Spesso ti ritrovi solo una pagina piena di %3Chtml%3E.
Se l’HTML diventa serio (JS, JSON, roba dinamica), passa al Base64, ma evita Base64Encode: segue la RFC 2045 e inserisce un a capo (CRLF) ogni 76 caratteri, spesso mortale in un data URL. La forma stabile è:
"data:text/html;base64," & Base64EncodeRFC ( 4648 ; $html )
(va bene anche la RFC 3548).
Il dettaglio è minuscolo. Ma se il tuo WebViewer è il cuore dell’app, quella stringa è fondamentale.
Se lavori con WebViewer avanzati, ho approfondito il tema qui: Il Visualizzatore Web in FileMaker: cosa è davvero e come usarlo.
.g.