2016-10-04 2 views
0

나는 잘 작동하지만 시간이 지나면 한 번만로드됩니다 (컨텐츠없이 제공됨).하지만 닫은 후 다시 열면 컨텐츠와 함께 작동합니다.tinymce setcontent는 두 번째로드에서만로드됩니다.

JS : 첫 번째로드에

tinymce.remove(); 
    tinymce.init({ selector: 'textarea' }); 
    tinyMCE.activeEditor.setContent(r.htmleditorcontent); 

오류 : 당신은 당신이 사용할 수있는 페이지가로드로 TinyMCE에에 내용을로드하려면

TypeError: n.parser is undefined 

..."SetContent",t)):("raw"!==t.format&&(e=new s({validate:n.validate},n.schema).ser... 

오류는 첫 번째로드

답변

2

발생 그럴 수있는 setContent 함수 ... 그러나 setContent()을 사용하기 전에 TinyMCE가 초기화되었는지 확인해야합니다. 귀하의 예에서는 init으로 전화 한 다음 편집기가로드되었는지 확인하지 않고 즉시 setContent()으로 전화하십시오.

원하는 작업을 수행하는 가장 좋은 방법은 TinyMCE의 구성 개체에 콘텐츠를로드하는 코드를 삽입하는 것입니다. 예를 들어 : 에디터가 너무 초기화가 완료 될 때까지 init 함수가 호출되지 않습니다

tinymce.init({ 
    ... 
    setup: function (editor) { 
    editor.on('init', function() { 
     this.setContent("<p>My new content</p>"); 
    }); 
    } 
    ... 
}); 

당신은 setContent() 코드를 호출하기 전에 모든 준비가되어 있음을 확신합니다.

코드에 tinymce.activeEditor - "현재 활성 편집기 인스턴스"를 반환합니다. 누군가가 편집기를 클릭하여 사용하기 전까지는 활성 편집기 인스턴스가 없으므로 코드를 실행할 때 활성 편집기가 없을 수도 있습니다. init을 사용하면 this을 통해 TinyMCE의 특정 인스턴스를 타겟팅 할 수 있습니다.