Tinymce只作为文本编辑器,没有编辑html

时间:2013-04-12 16:16:39

标签: tinymce

我有一个复杂的布局,不希望客户端搞砸了这个并最终打破它。所以我想限制tinymce,以便他们只能编辑/更改文本。

  • 不允许对布局进行任何更改
  • 除了文字之外,不添加/删除任何内容
  • 他们所能做的就是改变文字。

这可能吗?

2 个答案:

答案 0 :(得分:0)

我会说:“是的,这是可能的,取决于您认为用户可能采取的行动。”

我假设您的布局存在为html代码,可以在编辑器中找到。 现在,当用户开始选择和删除时 - 这是您必须介入的一个点。 您可以编写自己的插件(或带有onKeyUp处理程序的合适的安装配置参数),以检查是否有任何有价值的布局元素消失。如果是这种情况,您将需要修复它。您还可以检查密钥代码(ctrl + x,DELTE,Backspace,aso。)。复制到编辑器中也需要限制在文本中(关于这个问题有几个SO问题)。

答案 1 :(得分:0)

TinyMce有一个插件。它被称为 不可编辑 https://www.tinymce.com/docs/plugins/noneditable/

你可以像这样发起讽刺:

tinymce.init({
    selector: 'texteditor',  // change this value according to your HTML
    toolbar: 'undo redo', // disable most of the plugins ...
    context_menu: false,
    menubar: false,        // ... to allow text edit only
    noneditable_editable_class: "editable", // class allowed to edit
    noneditable_noneditable_class: "non_editable" // the parent (everything else)

});

你必须定义这两个属性 - 我只尝试使用 noneditable_editable_class 依靠它,其余部分将不可编辑 - 没有成功。

另一个解决方案(没有tinyMce)会在您希望允许编辑的页面元素上放置 contenteditable 属性:

$('.editable').attr('contenteditable','true');