2014-11-10 22 views
5

Ich habe eine Seite mit einem tinymce4 Editor Instanz. Ich möchte diesen Editor programmatisch mit einigen Inhalten initialisieren. Ich weiß, dass ich anrufen muss: tinymce.get('editor').setContent('my content');initialisieren tinymce mit Inhalt

Allerdings habe ich Schwierigkeiten, dies zu tun, wenn tinymce initialisiert wird. Diese Frage wurde bereits gestellt: initialize tinyMCE with default content aber die Antwort, die zu dieser Zeit gegeben wurde, funktioniert nicht, zumindest für tinymce4. Hier

ist, was ich versucht habe:

1. Versuch:

tinymce.init({ 
     mode: "textareas", 
     ... 
     setup: function (editor) { 
     ... 
     editor.setContent('my content'); 
     } 
    }); 

-> Uncaught Typeerror: kann Eigenschaft 'Körper' von undefined

2. Versuch lesen:

tinymce.init({ 
     mode: "textareas", 
     ... 
    }; 
    tinymce.get('editor').setContent('my content'); 

-> Uncaught TypeError: Kann die Eigenschaft 'setContent' von nullnicht lesen(aber wenn ich das mache, wenn die Seite mit dem tinymce-Editor bereits geladen wurde, funktioniert es).

dritter Versuch (SO 12.083.361 Antwort):

$(document).ready(function(){ 
    tinymce.get('editor').setContent('my content'); 
}); 

-> Uncaught Typeerror: kann Eigenschaft 'setContent' von null

All dies irgendwie tinymce.activeeditor.setContent('my content'); auch lesen.

Wo sollte ich tinymce.get('editor').setContent('my content'); in meinem Code platzieren, damit es funktioniert?

Antwort

3

Mit 4-Version sollten Sie es wie folgt tun:

tinymce.init({selector:'textarea'}); 
tinymce.activeEditor.setContent('custom'); 

hier ein fiddle ist.

+2

Das ist gut ... aber fehlt, wenn es mehrere Editoren auf einer Seite, die individuell müssen :-( –

+0

gezielt Was passiert, wenn wir mehr als eine RTE auf Seite? Ist da gibt es noch eine andere Lösung ... –

0

Ich habe die init_instance_callback verwendet, die ausgelöst wird, wenn der Editor bereit ist, SetContent.

var options = { ... }; 
 
options.init_instance_callback = function (editor) { 
 
    editor.setContent(initialContent); 
 
}; 
 
$("some-selector").tinymce(options);