2012-05-09 16 views
5

Come dice il titolo, come faccio a sapere qual è la modalità attualmente caricata in Ace Editor?Come trovo la modalità attualmente caricata (sintassi) in Ace Editor?

editor.getSession(). GetMode() non restituisce in realtà nulla che possa essere utilizzato - ha controllato gli oggetti restituiti in qualche modo - ma non ha trovato nulla.

editor.getTheme() restituisce una stringa per me che posso usare però - sembra proprio divertente se non hanno fatto un po 'lo stesso per la modalità

risposta

5

Per recuperare il nome della modalità si usa:

editor.getSession().getMode().$id 
+0

Funziona? Divento indefinito. – lorefnon

+0

Sì, vai su http://ace.ajax.org/#nav=about apri Firebug (o una console casuale) ed esegui la seguente riga: editor.getSession(). GetMode(). $ Id – Hugeen

2

Ho provato la risposta di Hugeen e ho riscontrato l'errore undefined come riportato da Lorefnon. Questo è ciò che ha funzionato per me:

// get the editor instance 
var editor = ace.edit('editorid'); 

// get the current mode 
var mode = editor.session.$modeId; 

// modeid returns the full string (ace/mode/html), cut to the mode name only 
mode = mode.substr(mode.lastIndexOf('/') + 1); 

La speranza che aiuta qualcuno!

+0

Se provo ' .getMode(). $ id' nel browser, tutto va bene, ma non lo fa se faccio lo stesso nel mio codice. '$ modeId' funziona benissimo comunque! Qualche idea su quale potrebbe essere la ragione? 'GetMode()' probabilmente restituisce le impostazioni della modalità iniziale anziché quella corrente? – CoDEmanX

Problemi correlati