Я пытаюсь настроить CKEditor так, чтобы он мог напрямую вставлять видео с YouTube... Я видел предлагаемый патч, но я хочу сохранить исходный дистрибутив CKEditor как есть, поэтому мне было интересно, возможно ли «обезьянье исправление» CKEditor во время выполнения, чтобы, если пользователь вводит URL-адрес YouTube в диалоговом окне Flash, URL-адрес преобразовывался в разрешить встраивание.
Я пробовал это:
CKEDITOR.on('dialogDefinition', function(ev){
if (dialogName == 'flash'){
var infotab = dialogDefinition.getContents('info');
var f = dialogDefinition.onOk;
dialogDefinition.onOk = function(ev) {
var cur = this.getContentElement('info', 'src').getValue();
var newurl = cur.replace('youtube.com/watch?v=', 'youtube.com/v/');
if (cur != newurl) {
this.getContentElement('info', 'src').setValue(newurl);
};
f(ev);
}
}
}
но не получится, так как внутри f
код использует this
, а мой "патч" его меняет...