tinymce - 在 Episerver 9 中自定义 TinyMCE 编辑器

标签 tinymce episerver

我在 Episerver 9 上工作。我有一个要求,用户可以将内容(包括 HTML 标签)复制到 TinyMCE 编辑器中。

我只想粘贴文本内容。默认情况下应自动过滤掉 HTML 标记。

有什么方法可以使用 TinyMCE 来实现吗?

最佳答案

您可以使用 TinyMCEPluginNonVisual 属性在 Episerver 中注册自定义 TinyMCE 插件。通过将 AlwaysEnabled 设置为 false,您可以使用属性设置来确定是否应该为特定的编辑器/XHTML 属性启用插件。

[TinyMCEPluginNonVisual(AlwaysEnabled = false, PlugInName = "customplugin")]
public class MyCustomPlugin
{

}

您实际的 TinyMCE 插件(即 JavaScript 代码)可能类似于以下内容:

(function (tinymce, $) {

    tinymce.create('tinymce.plugins.customplugin', {

        init: function (editor, url) {

            editor.onPaste.add(function (editor, event) {

                if (!event.clipboardData || !event.clipboardData.items) {
                    return;
                }

                // TODO Modify event.clipboardData, for example to strip out HTML tags

            });
        }
    });

    // Register plugin
    tinymce.PluginManager.add('customplugin', tinymce.plugins.customplugin);

}(tinymce, epiJQuery));

虽然这不是一个完整的示例,但它应该能让您朝着正确的方向开始。

您还应该看看 official documentation .

编辑:如果您只想更改paste_as_text 设置,您可以注册一个插件并通过TinyMCEPluginNonVisual 属性设置配置:

[TinyMCEPluginNonVisual(EditorInitConfigurationOptions = "{ paste_as_text: true }")]
public class PasteAsTextPlugin
{

}

关于tinymce - 在 Episerver 9 中自定义 TinyMCE 编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39414122/

相关文章:

asp.net - 如何在任何给定时刻找到我的网站 (IIS7/asp.net) 的访问者/用户数量?

php - TinyMCE,在列表框(工具栏)中的元素上添加 css 样式

javascript - tinymce setcontent 仅在第二次加载时加载

javascript - TinyMCE 重写图像 src 上的查询字符串

tinymce 4 个自定义类供用户使用

.net - 与Episerver进行TDD

scheduler - EPiServer 计划作业未自动运行

EPiServer共享VPP文件夹

asp.net - Episerver CMS 6 页面加载速度慢

javascript - 在 Symfony/Twig 中转义 tinyMCE javascript 输出