1

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.     
            }
        }
    } );
} );
4

1 に答える 1

3

次のコードを使用して目的を達成しました

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 );  
        };
    }
});
于 2013-07-30T10:25:14.720 に答える