Javascript 如何将自定义按钮和对话框迁移到TinyMCE 5
我有一个第三方引导插件(可能是EOL),它在工具栏上添加了按钮,从而打开了一个对话框,我可以从中选择要添加到内容中的引导元素 它使用了以下代码:Javascript 如何将自定义按钮和对话框迁移到TinyMCE 5,javascript,jquery,tinymce,tinymce-5,Javascript,Jquery,Tinymce,Tinymce 5,我有一个第三方引导插件(可能是EOL),它在工具栏上添加了按钮,从而打开了一个对话框,我可以从中选择要添加到内容中的引导元素 它使用了以下代码: var insertBtn = tinymce.ui.Factory.create({ type: elType, classes: elClass, text: bsText['button'], icon: 'icon-btn', name: 'insertBtnBtn', tooltip: bsTi
var insertBtn = tinymce.ui.Factory.create({
type: elType,
classes: elClass,
text: bsText['button'],
icon: 'icon-btn',
name: 'insertBtnBtn',
tooltip: bsTip['button'],
onclick: function() {
showDialog('bootstrap-btn.php', 'Add button', 580, 'bsBtn');
}
});
bsItems.push(insertBtn);
但是它说工厂是未定义的,或者create是一个不存在的函数。我可以使用什么来实现这一点,显示按钮以及单击时显示对话框?我已经更新了以下代码以查看bsItems:
editor.ui.registry.addButton('bootstrap', {
type: 'buttongroup',
classes: 'bs-btn',
items: bsItems
});
我尝试了其他几种方法来找到create函数:
editor.ui.registry.create()
editor.ui.Factory.create()
editor.ui.create()
tinymce.ui.registry.create()
tinymce.ui.Factory.create()
tinymce.ui.create()
所有这些都没有用对于版本5,TinyMCE使用了一个新的UI框架。为4.x版编写的提供自定义UI控件元素的第三方插件可能无法与5版配合使用 如中所述,
tinymce.ui.Factory
已被弃用,将不会重新实现,因此无法再创建控件工厂
添加按钮等UI元素的方法也从v4更改为v5。本文详细介绍了这些方法的新位置和配置特征
tl;dr此特定插件可能无法与v5的新UI框架配合使用,但仍有使用新系统自定义UI的方法