2014-08-27 18 views
5

Sono abbastanza nuovo per CKEdtior e appena installato su questo sito su cui sto lavorando, la versione è 4.4.4CKEditor Proprietà personalizzate che non funziona e ottenendo l'errore

Il redattore viene caricato in pagina, ma proprietà personalizzate come lingua o UIColor non funzionano, e con o senza proprietà, continuo a ricevere l'errore:

Uncaught TypeError: Cannot read property 'getEditor' of undefined 

so che sto facendo qualcosa di sbagliato, perché funziona nei campioni. Se aiuta, il codice fa parte di un modello Smarty. Ho provato a utilizzare un ID che non ha un carattere di sottolineatura e, naturalmente, controllando i vari browser, l'errore appare in IE, FF e Chrome.

bit rilevanti di codice:

<script type="text/javascript" src="ckeditor/ckeditor.js"></script> 
<script type="text/javascript"> 
    {literal} 
    CKEDITOR.replace('show_description', 
    { 
     language: 'he' 
    }); 
    {/literal} 
</script> 

<textarea name="show_description" id="show_description" class="ckeditor"></textarea> 

risposta

16

Non è possibile chiamare CKEDITOR.replace() prima che il luogo in cui il relativo <textarea> è nel codice. Si può vedere questo nel replace by code sample:

<textarea cols="80" id="editor1" name="editor1" rows="10">content</textarea> 
<script> 

    // This call can be placed at any point after the 
    // <textarea>, or inside a <head><script> in a 
    // window.onload event handler. 

    // Replace the <textarea id="editor"> with an CKEditor 
    // instance, using default configurations. 

    CKEDITOR.replace('editor1'); 

</script> 
3

se si utilizza classe come param in CKEDITOR.replace ('yourclass'); sostituisce ancora textarea in editor ma genera lo stesso errore.

-1

È possibile scrivere una funzione denominata settimeout().

Esempio:

setTimeout(function(){CKEDITOR.replace('id-textarea')},time); 
+0

nome è sbagliato, è 'setTimeout'. Vedi https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout – Stephan

Problemi correlati