YouTubeの動画を直接埋め込めるようにCKEditorを設定しようとしています...提案されたパッチがあるのを見ましたが、元のCKEditorディストリビューションをそのまま維持したいので、CKEditorを「モンキーパッチ」することは可能かどうか疑問に思っていました.これにより、ユーザーが Flash ダイアログ内に YouTube の URL を入力すると、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
おり、私の「パッチ」がそれを変更しているため、機能しません...