我对这个问题做了些小小的提琴: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'未定义” 。
我犯了任何错误或出了什么问题?
答案 0 :(得分:0)
配置选项的名称为extended_valid_elements
,因此您只是在配置中将其命名错误。应该是:
extended_valid_elements: "custom-block[src]"
我已经更新了您的小提琴(http://fiddle.tinymce.com/O0gaab/1),看来一切正常。