如何防止 Ckeditor 的视频检测器插件在页面上有多个实例时复制内容
How to prevent VideoDetector plugin for Ckeditor to duplicate content when there are multiple instances on the page?
设置和目标:
我正在使用 CKEditor 的视频检测器插件:http://ckeditor.com/addon/videodetector
我的目标是允许将视频添加到内容中。
页面上大约有五个 CKeditor 实例。每个都有.ckeditor类来初始化插件(包括jQuery插件)。然后在代码中,我设置了自定义工具栏,默认情况下用于页面上的所有插件。
您可以在下面看到示例设置。
$(document).ready(function() {
CKEDITOR.config.toolbar = [
[ 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord' ],
{
name: 'basicstyles',
groups: [ 'basicstyles', 'cleanup' ],
items: [ 'Bold', 'Italic', '-', 'RemoveFormat' ]
},
{
name: 'paragraph',
groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ],
items: [ 'NumberedList', 'BulletedList', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ]
},
{
name: 'links',
items: [ 'Link', 'Unlink', 'VideoDetector' ]
}
];
CKEDITOR.config.uiColor = '#e5e5e5';
CKEDITOR.config.removePlugins = 'elementspath';
CKEDITOR.config.extraPlugins = 'videodetector';
CKEDITOR.config.extraAllowedContent = 'iframe[*]';
CKEDITOR.config.allowedContent = true;
});
问题:
此配置有效,但是当您开始在不同的实例中插入视频时,问题就开始了。首先,如果您使用插件向每个 CKEditor 实例添加不同的视频,则始终会添加相同的视频。如果我保存,刷新然后插入新视频,我只能插入新视频。但是,一旦我保存了表单,初始视频就会被新视频替换。
我认为问题可能与实例有关,它们相互覆盖,但我不确定如何解决它。
如果有任何问题,请告诉我。
我遇到了类似的问题,但就我而言,我只是试图将多个视频插入同一个编辑器。问题是插件正在寻找具有一类cke_dialog_contents的第一个元素。每次。
我修改了插件代码,以便在对话框 onOK 函数中检索对话框输入元素的值,然后传递给解析函数,而不是要求解析函数从 DOM 中查找值。我没有像您的示例那样在页面上的多个编辑器实例中尝试过此操作,但我怀疑它在这种情况下应该同样有效。
首先,更改 onOK 函数以从其自己的对话框中检索值:
onOk: function(){
var dialog = this;
var inputVal = dialog.getValueOf('tab-basic', 'url_video');
//detectamos el video
var respuesta = detectar(inputVal);
然后更改 dectectar() 函数以接受字符串作为参数:
function detectar(inputVal){
var url = inputVal;
我正在使用 ckeditor 4.3.4 和视频检测器 1.1。
相关文章:
- 使用Clipboard.js复制span文本
- ZeroClipboard-在复制之前添加到值
- ES6构造函数返回基类的实例
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- KnockoutJS-组件-多个实例
- 为什么无法在TypeScript中导出类实例
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- 复制图像路径以单击它
- fluxxor向一个flux实例添加一组以上的操作
- 使用jQuery获取Dropzone实例/对象
- 复制当前url按钮-Javascript
- "实例范围”;TypeScript类的getter/setter
- JavaScript继承:为什么从实例复制
- 何时需要使用Object.assign()方法来复制对象的实例
- 如何在 CoffeeScript 中克隆/复制对象的实例
- 如何防止 Ckeditor 的视频检测器插件在页面上有多个实例时复制内容
- 如何复制(新实例)闭包函数
- 复制 JavaScript 原型实例
- 在测试时注入全局变量复制实际对象,需要相同的实例
- 一次将所有对象从一个实例复制到另一个实例