2017-11-29 106 views
0

CKEditor5 API를 사용하여 데이터를 얻는 방법과 문서에서 언급 한대로 SO post을 알고 있습니다.CKEditor5 일반 텍스트 가져 오기

그러나 어떻게 일반 텍스트를 볼 수 있습니까? 나는 다음을 시도했지만 아무 것도 반환하지 않는다.

alert($(editorObj.element).val()); 

재미있는 참고 : 텍스트 영역이 CKEditor

alert($("#editor").val()); 

과 결합되는 경우에도 다음 코드는 아무 것도 반환하지 않습니다하지만 CKEditor와 텍스트 영역을 결합하지 않는 경우 그것은 잘 작동합니다.

모든 의견이나 피드백은 높이 평가 될 것입니다. 우리는 적절한 솔루션 또는 라이브러리에 의해 노출 방법을 얻을 때까지, 나는이 해결 방법이 작동 희망

var plainText = $(editorObj.getData()).text(); 

:

+0

사용 dev에 콘솔 :

당신은 전체 편집기의보기를 캐릭터 라인 화하기 위해이 방법을 사용할 수 있습니다. – blueren

+0

updateEditorElement 함수를 호출 할 때까지 에디터의 요소 데이터를 업데이트하지 않습니다. 그러나 그것도 일반 텍스트가 아닌 서식있는 텍스트를 업데이트합니다. –

답변

0

좋아, 내가 해결 방법을 발견했다.

1

CKEditor 5는 이러한 방법을 노출하지 않지만 @ckeditor/ckeditor5-clipboard 패키지의 utils 중 하나 인 viewToPlainText()을 사용할 수 있습니다.

사용자가 클립 보드에서 text/plain 맛을 설정하기 위해 사용자가 편집기에서 일부 내용을 복사 할 때 클립 보드 기능을 사용합니다.

이 기능을 사용하려면 소스에서 CKEditor 5를 사용해야합니다 (이 기능은 공개적으로 노출되지 않기 때문에). 해당 정보는 CKEditor 5 Framework's Quick start 가이드에서 확인할 수 있습니다. 실제 DOM을 살펴보고 실제 데이터를 포함하는 요소를 볼 수

import viewToPlainText from '@ckeditor/ckeditor5-clipboard/src/utils/viewtoplaintext'; 
import ClassicEditorBuild from '@ckeditor/ckeditor5-build-classic/src/ckeditor'; 

ClassicEditorBuild 
    .create(element) 
    .then(editor => { 
     // Will get the stringified content. 
     console.log(viewToPlainText(editor.editing.view.getRoot())); 
    }) 
    .catch(error => { 
     console.error(error.stack); 
    })