初始化后设置TinyMCE编辑器选项

时间:2015-12-15 08:46:38

标签: javascript initialization tinymce tinymce-plugins

如何在初始化后设置TinyMCE templates选项?是否有可能在TinyMCE 4?

我在源代码Template plugin中看到,每次用户点击“插入模板”按钮时都会读取此选项。所以我认为它可以在每次点击时获得新的价值。

ps。可能的解决方案可能是在templates中使用网址,但让我们假装它不是。

2 个答案:

答案 0 :(得分:1)

我几天前尝试过这样做 - 特别是在单击子菜单按钮时加载子菜单中的项目。听起来这是同样的问题。

除了销毁编辑器实例并使用修改后的配置再次调用tinymce.init()之外,我找不到这样做的方法。

答案 1 :(得分:0)

更新:在TinyMCE v4.3.3中,模板插件已更新,因此templates设置可以是一个获取可提供模板的回调的函数。好消息,你不必修补插件=)

初​​始化:

$scope.tinyMceOptions = {
    plugins: 'template',
    ...
    templates: function(callback) {
        // Here you can do whatever you want with callback;
        // for example, you can provide different arguments on every click
        callback($scope.variableTemplates);
    }

(对于之前的TinyMCE版本)我的解决方案是修补模板插件,我可以将函数指定为模板提供程序。这是我添加到createTemplateList()函数的内容:

else if (typeof templateList === 'function') {
    callback(templateList());
}

在初始化期间,我在templates中指定了一个函数:

$scope.tinyMceOptions = {
    plugins: 'template',
    ...
    templates: function() {
        return $scope.variableTemplates;
    }