我在 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/