有一些方法可以在运行时为 CKEditor 的工具栏添加功能。例如,
https://stackoverflow.com/a/25443349/1273587
How to add a custom button to the toolbar that calls a JavaScript function?
并且有一些方法可以为 CKEditor 现有的链接插件添加新的选择
https://ssdtutorials.com/courses/ckeditor-internal-page-link
http://blog.xoundboy.com/?p=393
有没有办法在运行时向现有链接插件添加按钮?我有一个按钮要添加到依赖于用户数据的链接插件,因此必须在运行时添加该按钮。
最佳答案
我用过 internpage plugin并更改了源以支持动态更改出现的链接列表。在上面链接的代码中,您看到他们定义了一个设置函数,每次打开对话框并显示选择时都会调用该函数:
setup : function (f) {
this.allowOnChange = false;
this.setValue(f.url ? f.url.url : '');
this.allowOnChange = true;
}
您需要做的就是使用可用方法更改或刷新 select 中的项目列表:
- this.clear() - 删除选择中的所有项目
- this.remove(index) - 删除选择中的一个项目
- this.add(text,url) - 在选择中添加一个项目
- this.getElement() - 获取实际的选择元素
请注意,this.items 在使用这些方法时保持不变,因此您可以使用该属性自动刷新选择。
这是一个工作演示:https://jsfiddle.net/ud4csxyc/
按几次红色按钮,您将看到项目列表已更改。
我希望这是你想要的。
关于javascript - 有没有办法在运行时添加按钮以链接 CKEditor 的插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36353612/