2016-10-04 367 views
0

我的tinymce工作正常,但setcontent只能在加載一次後才能工作(它沒有內容),但是在關閉並重新打開之後,它就是內容。tinymce setcontent僅在第二次加載時加載

JS:

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

錯誤第一次加載:

TypeError: n.parser is undefined 

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

錯誤只如果你想內容加載到TinyMCE的,你可以使用頁面加載發生在第一次加載

回答

2

setContent函數來做到這一點......但是在你嘗試使用setContent()之前,你需要確保TinyMCE已經初始化。在您的示例中,您可以撥打init,然後立即呼叫setContent()而不檢查編輯器是否已加載。

執行所需操作的最佳方法是將代碼加載到TinyMCE的配置對象中。例如:

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

init功能將不會被調用,直到編輯完成初始化,所以你肯定是萬事俱備了setContent()代碼調用之前。

我還會注意到你的代碼使用tinymce.activeEditor - 它返回「當前活動的編輯器實例」。您沒有活動的編輯器實例,直到有人點擊編輯器才能使用它,以便在代碼運行時沒有活動的編輯器。使用init可確保您可以通過this定位該TinyMCE的特定實例。

相關問題