2016-11-08 1 views
0

일단 내가 초기화 된 내용을 설정하기 위해 tinyMCE 편집기를 설정 했으므로 그 목적으로 함수를 호출하려면 init_instance_callback을 사용하고 있습니다. 문제는 함수가 때때로 호출된다는 것입니다. 브라우저에서 개발자 도구를 통해 캐시를 비활성화하면 함수가 항상 호출된다는 것을 알았습니다. 그렇지 않으면 가끔씩 만 호출됩니다. tinyMCE을 항상 초기화하고 동일한 페이지를 여러 번 방문하는 경우 init_instance_callback을 호출하려면 어떻게해야합니까?tinyMCE가 항상 초기화되지 않는 것 같습니다

tinyMCE.init({ 
     selector: 'textarea.mceEditor', 
     plugins: 'powerpaste code textcolor link emoticons table print preview visualchars', 
     powerpaste_word_import: 'prompt', 
     powerpaste_html_import: 'prompt', 
     powerpaste_allow_local_images: true, 
     browser_spellcheck: true, 
     fontsize_formats: "8pt 10pt 12pt 14pt 18pt 24pt 36pt", 
     forced_root_block: false, 
     toolbar1: 'forecolor backcolor undo redo styleselect bold italic alignleft aligncenter alignright alignjustify bullist numlist outdent indent', 
     toolbar2: 'link fontsizeselect', 
     paste_preprocess : function(pl, o) { 
      o.content = o.content.replace(/(<\/p>)/gi,'<br/><br/>'); 
      o.content = o.content.replace(/(<p>)/gi,''); 

     }, 
     init_instance_callback : "initAdvertDescription" 

    }); 


function initAdvertDescription() { 

     console.log(advertDescription); 
     tinyMCE.get(aspnetPrefix_Hash + "tbxDescription").setContent(advertDescription); 
} 

답변

0

UPDATE :

내 코드입니다

당신은 대신 init 이벤트를 사용할 수 있습니다 (편집 내 대답은, 내가 init_instance_callback 또한 API의 V4의 일부 몰랐)하는 as said in the documentation

편집기가 초기화 된 후에 발생합니다. 편집기가 내용으로 채워진 후에입니다.

tinymce.init({ 
    ... 
    setup: function(editor) { 
     editor.on('init', function(e) { 
      console.log('init event', e); 
      editor.setContent(advertDescription); 
     }); 
    } 
}); 

TinyMCE에 문서 진짜 엉망 당신이 원하는 정보를 찾을 전혀 쉽습니다. 또한 API 버전 3은 Google이 버전 4보다 훨씬 잘 참조합니다. 읽고있는 문서의 버전을 항상주의 깊게 읽으십시오.이 두 버전 간에는 많은 변화가있었습니다.

더 명확한 설명을 위해 this URL을 개인적으로 선호합니다.