Mein Hauptziel ist es, Editor-Inhalte bei Änderungen zu erhalten und eine Live-Vorschau zu aktualisieren. Dazu muss ich dem Editor einen Ereignis-Listener hinzufügen. Übrigens habe ich zwei Editoren auf derselben Seite und die Seite wird über Ajax geladen.
Nun zurück zu meinem Problem. Ich komme nicht zur Instanz der tinyMCE-Editoren. Ich kann sie console.log()
aber leeres Ergebnis bekommen, wenn ich versuche, sie zu stringifizieren .
Unten ist das Ergebnis von console.log(tinymce.editors)
.
Wenn ich also versuche, mit tinymce.editors.contentleft
, tinymce.editors['contentleft']
, tinymce.get('contentleft')
oder tinymce.EditorManager.get('contentleft')
auf Editoren zuzugreifen, erhalte ich in all diesen Fällen undefined
oder null
Ich arbeite mehr als ein paar Tage daran. Würde mich über eine richtige Richtung freuen.
Wenn Sie auf das Ereignis SetupEditor
warten, können Sie auf die Editoren zugreifen:
add_action( 'admin_print_footer_scripts', function () {
?>
<script type="text/javascript">
jQuery(function ($) {
if (typeof tinymce !== 'undefined') {
tinymce.on('SetupEditor', function (editor) {
if (editor.id === 'contentLeft') {
// Could use new 'input' event instead.
editor.on('change keyup paste', function (event) {
console.log('content=%s', this.getContent());
});
}
});
}
});
</script>
<?php
} );