Salve a tutti,
ho costruito, con l'aiuto di un articolo su questo sito, un editor WYSIWYG da inserire in pagine html.
Nessun problema per quello che riguarda l'editor e il recupero del codice per riutilizzarlo.
Il problema mi compare quando devo modificare un testo già esistente.
Scendiamo nei dettagli:
l'editor non è altro che una pagina vuota dentro un iframe al quale viene settata la proprietà designmode a on;
il testo elaborato viene recuperato, pulito da eventuali tag vuoti e bonificato nei tag restanti secondo le direttive del W3C e infine salvato dentro un DB;
Fino a qui nessun problema, ma ho previsto la possibilità di modificare i testi inseriti e qui mi nasce invece il problema, ossia non riesco ad inizializzare l'iframe con il testo precedentemente salvato nel DB
Visto che il codice viene recuperato in una funzione javascript in questo modo:
var contenuto = document.getElementById("frameEdit").contentDocume nt.body.innerHTML
oppure
var contenuto = document.frames["frameEdit"].document.body.innerHTML
a seconda del browser utilizzato dall'utente, ho pensato che scrivendo uno script del tipo:
<iframe src="" name="frameEdit" id="frameEdit"></iframe>
<script language="javascript">
var contenuto = <% = strTesto %>; //come si nota il codice viene recuperato in asp
document.frames["frameEdit"].document.body.innerHTML = contenuto;
//oppure
document.getElementById("frameEdit").contentDocume nt.body.innerHTML = contenuto;
</script>
funzionasse, in realtà l'iframe continua a funzionare perfettamente come editor ma non visualizza assolutamente nulla. Visualizzando il codice HTML della pagina, le assegnazioni alle variabili vengono eseguite correttamente quindi il problema è proprio nell'assegnazione alla proprietà dell'iframe, tanto che, su IE mi compare il triangolino in basso e se ci clicco mi dice che document.frames.frameEdit.document.body non è un oggetto valido.
Chi mi può dare una mano?
Grazie mille


Rispondi quotando