Wie bekomme ich Daten von CKEditor Instanz 5

Ich weiß, dass für CKEditor 4, Sie können die textarea-Daten wie diese:

var content = CKEDITOR.instances['comment'].getData();

Wie wird das gemacht für CKEditor 5?

InformationsquelleAutor user3691644 | 2017-10-18



2 Replies
  1. 11

    Finden Sie die Antwort in der Basic-API guide.

    Grundsätzlich in CKEditor 5 gibt es keine einzige Globale repository Editoren (wie die alten CKEDITOR.instances Globale variable). Dies bedeutet, dass Sie benötigen, um die Referenz auf den editor, die Sie erstellt haben und verwenden, die Referenz sobald Sie wollen, um die Daten abzurufen:

    ClassicEditor
        .create( document.querySelector( '#editor' ) )
        .then( editor => {
            editor.getData(); //-> '<p>Foo!</p>'
        } )
        .catch( error => {
            console.error( error );
        } );
    

    Wenn Sie brauchen, um die Daten abzurufen, die auf einigen anderen Gelegenheiten (wer würde Sie Lesen, nur nach der Initialisierung der editor, richtig? ;)), speichern Sie dann die Referenz auf den editor in einigen gemeinsamen Objekt den Zustand der Anwendung oder einige variable im Bereich:

    let theEditor;
    
    ClassicEditor
        .create( document.querySelector( '#editor' ) )
        .then( editor => {
            theEditor = editor; //Save for later use.
        } )
        .catch( error => {
            console.error( error );
        } );
    
    function getDataFromTheEditor() {
        return theEditor.getData();
    }
    

    Sehen dieses JSFiddle: https://jsfiddle.net/2h2rq5u2/

    EDIT: Wenn Sie brauchen, um zu verwalten mehr als eine editor-Instanz finden Sie unter CKEDITOR 5 get-editor-Instanzen.

  2. 2

    Deklarieren Sie eine Globale variable, und verwenden Sie dann editor.getData(). So etwas wie dieses:

    var editor;
    ClassicEditor
        .create(document.querySelector('#editor'))
        .then(editor => {
            editor=editor;
        })
        .catch(error => {
            console.error(error);
        });
    

    Dann im event-handler, sollte dies funktionieren:

    editor.getData();
    

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.