2012-01-20 4 views
10

Sto provando a impostare il parametro readonly in tinyMCE su true dopo tinyMCE è stato inizializzato. Sto cercando di usare questo con wordpress per disabilitare PostEditor se il post è già stato pubblicato. Ho trovato alcune fonti sostenendo che si può chiamare:Impostare il parametro TinyMCE Editor dopo l'inizializzazione

tinyMCE.activeEditor.execCommand(
    'mceSetAttribute', 
    false, 
    {name:'readonly',value:true} 
); 

ma mi sono state avendo fortuna con quello e non hanno trovato una soluzione.

risposta

16

Un modo più semplice per impostare questo è tinyMCE.activeEditor.settings.readonly = true; Ma il problema qui è che l'impostazione di sola lettura influisce sul modo in cui viene inizializzato il processo di tinymce. Quindi l'impostazione dopo l'inizializzazione di tinymce non avrà un grande impatto.

Che cosa si può fare per impedire agli utenti di modificare i contenuti nel vostro editor è quello di impostare l'attributo contenteditable del corpo redattori iframe su false:

tinymce.activeEditor.getBody().setAttribute('contenteditable', false); 
+0

il problema che ho riscontrato con questa soluzione @Thariama, è che continuo a ricevere che 'tinyMCE.activeEditor è nullo'. Qualche idea del perché? Ho posto una domanda simile qui http://stackoverflow.com/questions/11051093/tinymce-options – Alex

+0

"tinyMCE.activeEditor è null" - si verifica quando l'editor di tinymce non è ancora inizializzato. è buona prassi cambiare l'attributo contenteditable suInit dell'editor – Thariama

+0

l'errore che ottengo è dopo che tinyMCE è stato inizializzato, questa è la parte strana. Quello che sto cercando di fare è che su una casella di controllo selezionata, impostare tinyMCE in sola lettura. – Alex