未捕获的类型错误:无法读取属性'添加'未定义的tinymce版本4.x

Uncaught TypeError: Cannot read property 'add' of undefined tinymce version 4.x

本文关键字:添加 未定义 版本 tinymce 读取 类型 错误 属性      更新时间:2023-09-26

我使用的是微小的mce 4.x版本,这是我在html文件中编写的代码

 <script type="text/javascript" src="tinymce/tinymce.min.js"></script>
 <script>
   tinymce.init({
    selector: "textarea#elm1",
    theme: "modern",
    width: 500,
    height: 300,
    plugins: [
         "advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker",
         "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
         "save table contextmenu directionality emoticons template paste textcolor"
   ],
      content_css: "css/content.css",
      toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media fullpage | forecolor backcolor emoticons", 
       style_formats: [
           {title: 'Bold text', inline: 'b'},
           {title: 'Red text', inline: 'span', styles: {color: '#ff0000'}},
           {title: 'Red header', block: 'h1', styles: {color: '#ff0000'}},
           {title: 'Example 1', inline: 'span', classes: 'example1'},
           {title: 'Example 2', inline: 'span', classes: 'example2'},
           {title: 'Table styles'},
           {title: 'Table row 1', selector: 'tr', classes: 'tablerow1'}
      ],
     setup : function(ed) {
        ed.onBeforeRenderUI.add(function(ed, cm) {
         console.log('add function called');
       });
       ed.onLoadContent.add(function(ed, o) {
           console.log('add function called');
      });
}

}); 

<body>
    <textarea id="elm1" name="area"></textarea>
</body>

我得到错误

Uncaught TypeError:当调用BeforeRenderUI.add()方法

请帮我解决这个问题。非常感谢。

感谢您分享对您有效的解决方案。但要正确:问题的解决方案是使用tinymce4代码(onLoadContent仅适用于tinymce3)。正确的使用方法是:

 setup : function(ed) {
    ed.on('BeforeRenderUI', function(e) {
     console.log('BeforeRenderUI function called');
   });
   ed.on('LoadContent', function(e) {
       console.log('LoadContent function called');
  });