我想对使用 CKEditor 中的图像工具栏按钮添加的图像做一些事情。 我实际上想获取 url 并在需要时进行修改。
我该怎么做?
我可以使用 dataFilter
来做这些事情,但只有当图像被直接粘贴到
编辑。但是当使用编辑器中的默认图像按钮添加图像时,dataFilter
规则不会执行。
CKEDITOR.replace( 'idContent' );
CKEDITOR.on( 'instanceReady', function( e ) {
CKEDITOR.instances.idContent.dataProcessor.dataFilter.addRules( {
elements: {
"img": function (element) {
var imageSrcUrl = element.attributes.src;
// Do some stuffs here.
}
}
} );
} );
最佳答案
我使用以下代码实现了我的目的
CKEDITOR.on( 'dialogDefinition', function( ev ) {
// Take the dialog name and its definition from the event data
var dialogName = ev.data.name,
dialogDefinition = ev.data.definition;
if ( dialogName == 'image' ) {
var onOk = dialogDefinition.onOk;
dialogDefinition.onOk = function( e ) {
var input = this.getContentElement( 'info', 'txtUrl' ),
imageSrcUrl = input.getValue();
//! Manipulate imageSrcUrl and set it
input.setValue( imageSrcUrl );
onOk && onOk.apply( this, e );
};
}
});
关于javascript - 如何更改 CKEditor 对话框生成的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17943053/