Javascript 当页面上有多个实例时,如何防止用于Ckeditor的VideoDetector插件复制内容?
设置和目标: 我正在使用CKEditor的视频检测器插件: 我的目标是允许将视频添加到内容中 页面上大约有五个CKeditor实例。每个都有.ckeditor类来初始化插件(包括jQuery插件)。然后在代码中我设置了自定义工具栏,默认情况下该工具栏用于页面上的所有插件 您可以看到下面的示例设置Javascript 当页面上有多个实例时,如何防止用于Ckeditor的VideoDetector插件复制内容?,javascript,jquery,ckeditor,Javascript,Jquery,Ckeditor,设置和目标: 我正在使用CKEditor的视频检测器插件: 我的目标是允许将视频添加到内容中 页面上大约有五个CKeditor实例。每个都有.ckeditor类来初始化插件(包括jQuery插件)。然后在代码中我设置了自定义工具栏,默认情况下该工具栏用于页面上的所有插件 您可以看到下面的示例设置 $(document).ready(function() { CKEDITOR.config.toolbar = [ [ 'Cut', 'Copy', 'Paste', 'Pa
$(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_内容的元素。每一次 我修改了插件代码,以便在dialog onOK函数中检索dialog输入元素的值,然后将其传递给解析函数,而不是要求解析函数从DOM中查找值。我没有像您的示例中那样在页面上使用多个编辑器实例来尝试这一点,但我怀疑它在该场景中应该同样有效 首先,更改onOK函数以从其自己的对话框中检索值:
onOk: function(){
var dialog = this;
var inputVal = dialog.getValueOf('tab-basic', 'url_video');
//detectamos el video
var respuesta = detectar(inputVal);
然后更改detectar()函数以接受字符串作为参数:
function detectar(inputVal){
var url = inputVal;
我正在使用ckeditor 4.3.4和videodetector 1.1。谢谢,我需要检查一下,因为这是很久以前的事了,但我自己找到了解决办法。