插入自定义元素,属性将被剥夺

时间:2018-09-23 18:37:38

标签: tinymce tinymce-4

我对这个问题做了些小小的提琴:http://fiddle.tinymce.com/O0gaab

我添加了一个自定义元素“ custom-block”和一个自定义插件来插入该元素。

tinymce.PluginManager.add('custom', function(editor, url) {
    editor.addButton('custom', {
      text: 'CUSTOM',
      onclick: function() {
        // Open window
        editor.windowManager.open({
          title: 'Custom plugin',
          body: [
            {type: 'textbox', name: 'src', label: 'SRC'},
            {type: 'label', name: 'title', text: 'Insert content bellow:'},
            {type: 'textbox', name: 'content', multiline: true, style: 'width:500px;height:100px;'}
          ],
          onsubmit: function(e) {
            console.log(e.data);
            editor.insertContent('<custom-block src="' + e.data.src + '">' + e.data.content + '</custom-block>');
          }
        });
      }
    });
});
tinymce.init({
    selector: "textarea",
    plugins: [
        "advlist autolink lists link image charmap print preview anchor",
        "searchreplace visualblocks code fullscreen",
        "insertdatetime media table contextmenu paste custom"
    ],
    toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | custom",
    //valid_elements: "+*[*]", //when using this option trying to allow everything get an error "Cannot read property 'src' of undefined"
    extend_valid_elements: "custom-block[src]",
    custom_elements: "custom-block"
});

正确插入元素,但没有src属性。

尽管我从文档中得知extend_valid_elements: "custom-block[src]"允许将src归于custom-block,但每次都会被剥夺。

我还尝试将valid_elements设置为所有内容(+*[*],以防万一,但是由于在插入时出现错误,我变得更糟:“无法读取属性'src'未定义”

我犯了任何错误或出了什么问题?

1 个答案:

答案 0 :(得分:0)

配置选项的名称为extended_valid_elements,因此您只是在配置中将其命名错误。应该是:

extended_valid_elements: "custom-block[src]"

我已经更新了您的小提琴(http://fiddle.tinymce.com/O0gaab/1),看来一切正常。