当页面上有多个实例时,如何阻止Ckeditor的VideoDetector插件复制内容?

时间:2016-03-02 16:01:12

标签: javascript jquery ckeditor

设置和目标:

我正在使用CKEditor的视频检测器插件:http://ckeditor.com/addon/videodetector

我的目标是允许将视频添加到内容中。

页面上有大约五个CKeditor实例。每个都有.ckeditor类来初始化插件(包含jQuery插件)。然后在代码中我设置了默认用于页面上所有插件的自定义工具栏。

您可以在下面看到示例设置。

regex

问题:

此配置有效,但当您开始在不同实例中插入视频时,问题就会出现。首先,如果您使用插件向每个CKEditor实例添加不同的视频,则始终会添加相同的视频。如果我保存,刷新然后插入新视频,我只能插入新视频。但是,一旦我保存表单,初始视频将被新的视频替换。

我认为问题可能与实例有关,而且它们会相互覆盖,但我不知道如何解决它。

如果有任何问题,请告诉我。

1 个答案:

答案 0 :(得分:0)

我有类似的问题,但在我的情况下,我只是想在同一个编辑器中插入多个视频。问题是该插件正在寻找具有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和videodetector 1.1。