1

我使用 TinyMCE 作为 WYSIWYG 编辑器的基础,并且我只想允许在其中输入 HTML 元素的子集,不管是什么意思。

将 HTML 元素输入编辑器有三种不同的方法:按钮(例如粗体按钮)、快捷方式(CTRL+B粗体)和复制粘贴。

我使用的是自定义模板,所以我只有有限数量的按钮,允许一定数量的元素。

但是使用快捷方式或复制/粘贴,用户可以将他想要的任何内容添加到编辑器中。

配置valid_elements选项允许过滤掉元素(它作为白名单工作),但它仅在清理时触发,(AFAIK)仅在提交表单时运行。

这很好,但是如果它们不是有效的元素,我不希望首先将它们添加到编辑器中

我怎样才能实现这种行为?

4

1 回答 1

1

这很好,但如果它们不是有效元素,我不希望首先将它们添加到编辑器中。

这并不容易,因为您需要检查每种代码可以进入编辑器的方式,并在插入之前检查 html 代码是否有效。在这些操作上自己调用清理可能更容易:ed.execCommand('mceCleanup');

否则你将不得不检查

  • 使用代码插件插入
  • 使用paste_preprocess 设置复制/粘贴
  • 使用代码插件插入
  • 最烦人的:使用右键单击浏览器菜单进行粘贴(这很难处理)
于 2013-05-22T09:23:42.673 回答