Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [as3] html non interpretato dall'swf

    Da giorni sono alle prese con un problema che proprio non riesco a risolvere, non so più dove sbatter la testa quindi ogni idea può rivelarsi decisiva.
    Devo fare una cosa apparentemente semplice, prendere da un file xml delle frasi che sono su due righe e farle apparire all'interno di un campo di testo dinamico.
    Il caricamento riesce bene, ma quando tento di andare a capo non ci riesco.
    Ho tentato di andare a capo senza usare html, semplicemente scrivendo la frase su due righe; il risultato è che ogni volta che vado a capo nell'xml, l'swf mi mostra una riga vuota tra una riga di testo e l'altra.
    Ho pensato allora di utilizzare una sessione cdata nell'xml e creare il ritorno a capo con il tag br; in questo caso l'swf mi mostra il tag senza interpretarlo.
    Ho provato a modificare di tutto: impostando il "Comportamento" del testo di flash su ogni valore possibile, spuntando il "Rendi il testo come HTML" di Flash, rendendo il testo non selezionabile, modifiche varie all'xml con e senza intestazione... niente da fare.
    Il primo problema è quello di andare a capo su due righe, con qualsiasi espediente, ma mi piacerebbe anche capire come fare interpretare l'html perchè magari in futuro dovrò servirmene.

  2. #2
    Se usi la proprietà text di una casella di testo il suo contenuto non verrà interpretato come HTML, anche se hai già impostato Rendi il testo come HTML.

    Invece di scrivere questo
    codice:
    areaditesto.text = xml.quellochetipare;
    devi scrivere questo
    codice:
    areaditesto.htmlText = xml.quellochetipare;
    Questo funziona nelle aree di testo in formato HTML.

    La riga vuota in più sul testo semplice è probabilmente da imputare al fatto che stai usando Windows e le tue interruzioni di riga sono doppie (\r\n).
    Se il tuo editor di testo te lo consente imposta un'interruzione di riga di tipo UNIX (\n) o di tipo Mac Classic (\r).

    Oppure rimuovi manualmente le interruzioni di troppo all'interno di ActionScript stesso, in questo modo:
    codice:
    var testoPulito:String = String(testoCaricato).split("\r\n").join("\n");

  3. #3
    Grazie, avevo già risolto e poi mi sono scordato di scriverlo, ma la tua soluzione è corretta, è quella che ho adottato.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.