2009-12-06 3 views
7

Weiß jemand, ob es einen Weg gibt, wie ich ein TinyMCE Plugin dynamisch laden und entladen kann, nachdem TinyMCE bereits geladen wurde? Genauer gesagt, ich denke an den Benutzer zu fragen, ob sie das blattgr Plugin vielleicht ein Optionsfeld oder etwas über TinyMCE laden möchten:Wie man ein TinyMCE Plugin dynamisch lädt & entlädt

<input type="radio" name="fullpage" value="enabled" /> Enable Fullpage Plugin<br /> 
<input type="radio" name="fullpage" value="disabled" /> Disable Fullpage Plugin<br /> 
<textarea name="tinymce" id="tinymce">...</textarea> 

nehme ich an, ich könnte die ursprüngliche Instanz zerstören und eine neue Konfiguration laden (eine für aktiviert/eine für deaktiviert), aber es scheint, als ob es eine elegantere Art des Ladens und Entladens von Plugins geben sollte.

Antwort

2

Ich habe TinyMCE in der Vergangenheit ein wenig verwendet, und erinnere mich an keine Möglichkeit, dies zu tun.

Überprüfen der API-Dokumentation unter http://tinymce.moxiecode.com/js/tinymce/docs/api/index.html#class_tinymce.Editor.html, es scheint, als gäbe es nur eine Eigenschaft für die Plugins, keine Methode(), um mehr hinzuzufügen.

Es scheint, dass das Zerstören der ursprünglichen Instanz und das Laden einer neuen Konfiguration Ihre einzige Option ist. (Sofern Sie den TinyMCE-Code nicht ändern möchten)

1

Sie können die Funktion load() AddOnManager verwenden, um ein Plugin dynamisch zu laden (AddOnManager API Reference). Möglicherweise müssen Sie eine Instanz der Plugin-Klasse erstellen, in diesem Fall tinymce.plugins.FullPagePlugin, sobald sie geladen ist.

Da jedoch die meisten Plugins während der Initialisierung des Editors geladen werden, ist es unwahrscheinlich, dass das Plugin konsistent funktioniert. Insbesondere erwartet das vollständige Seiten-Plugin, den Inhalt auf dem Weg in den Editor filtern zu können, so dass es wahrscheinlich Probleme gibt.

Regards,

Adrian Sutton.
http://tinymce.ephox.com