webentwicklung-frage-antwort-db.com.de

tinyMCE.activeEditor = null WP Editor im 'Text'-Modus geladen?

Ich habe ein Plugin, das Daten über AJAX speichert, und habe festgestellt, dass keine Anfrage gesendet wurde. Ich habe die Konsole geöffnet, um weiter zu schauen, und siehe da, wenn ich versuche, das Objekt tinyMCE.activeEditor anzusehen, ist der Wert null.

Dies scheint nur der Fall zu sein, wenn der Editor im 'Text'-Modus geladen ist. Wenn Sie zu' Visual 'zurückkehren oder es laden, ist das tinyMCE.activeEditor-Objekt so vorhanden, wie es sollte.

Ich gehe davon aus, dass dies etwas damit zu tun hat, dass der Status des 'Text'-Modus zwischengespeichert wird, wenn dies nicht der Fall sein sollte, und dass jede Seite, die geladen wird, wirklich den' visuellen'-Modus liefert.

Wenn jemand auf dieses Problem gestoßen ist und einen Fix ohne Bearbeitungskern kennt, wäre er sehr dankbar. Ich habe keine Snippets gepostet, da ich nicht sicher bin, wie relevant sie wären. Wenn Sie jedoch etwas mitteilen möchten, das zur Behebung dieses Problems beitragen könnte, wäre ich sehr dankbar und würde mich freuen, :).

2
VitaCoco

Verwenden Sie diesen Einzeiler:

if (! tinyMCE.activeEditor) jQuery ('. wp-editor-wrap .switch-tmce'). trigger ('click');

// Jetzt können Sie "tinyMCE.activeEditor" sicher verwenden console.log (tinyMCE.activeEditor.settings);

1
gradosevic

Dafür gibt es eine einfache Lösung.

Sie müssen überprüfen, ob der Editor aktiv ist, und dann den Wert des Editors festlegen, andernfalls den Wert des Textbereichs festlegen. Siehe folgenden Code.

 
 if (tinyMCE.activeEditor == null) 
 {
 
 jQuery ("# ​​txtArea"). html ('your html') ; 
} 
 else {
 
 tinyMCE.get ('txtArea'). setContent ('Your html'); 
} 
 
0
nikunj gandhi