首页 > 解决方案 > 在 tinymce 编辑器上工作,但无法使用 setcontent 设置值

问题描述

我正在使用 tinymce 编辑器,但我面临的问题是,当我尝试在 SetContent 函数上设置值时,它显示错误,如 setcontet 属性为 null 并且无法存储该值相同的脚本在 angular 项目上工作正常但不在VB.net

我在项目中所做的更改只是保存 jquery 函数中的值并将该值传递给 tinymce.activeeditor.setcontent

<script>
    function setEditorVal() {
        debugger;
        tinyMCE.activeEditor.setContent('hell0 world');            
    }
</script>

标签: tinymce

解决方案


如果没有看到正在运行的代码,我不能肯定地说,但这里的问题几乎可以肯定是JavaScript 运行时间的问题。

TinyMCEinit()函数是异步的。当您致电init()时,该过程需要一些时间才能完成。在您致电时的代码示例中,您activeEditor是否 100% 确定确实有一个活动的编辑器?如果您在完成activeEditor之前调用,init()则没有“活动编辑器”。

确保 TinyMCE 完全初始化的正确方法是依赖init事件。在 TinyMCE 完全初始化并准备好交互后触发此事件。

要通过 加载内容,init()您可以执行以下操作:

tinymce.init({
  selector: "textarea",
  plugins: "advlist autolink lists ...",
  toolbar: "undo redo | bullist numlist ...",
  setup: function (editor) {
    editor.on('init', function (e) {
      //this gets executed AFTER TinyMCE is fully initialized
      editor.setContent('<p>This is content set via the init function</p>');
    });
  }
});  

推荐阅读