CKeditor:更改对话框中的默认 select 选项

CKeditor: change default select option in dialog

我更改 "Link" 对话框 window。需要能够仅插入锚点(删除 url 和电子邮件选项)。我使用这个代码:

CKEDITOR.on( 'dialogDefinition', function( ev ) {
    var dialogName = ev.data.name;
    var dialogDefinition = ev.data.definition;
    if ( dialogName == 'link' ) {
        var infoTab = dialogDefinition.getContents( 'info' );
        var linktypeField = infoTab.get( 'linkType' );        
        linktypeField['default'] = 'anchor';
        linktypeField['items'].splice(0, 1);
        linktypeField['items'].splice(1, 1);        
    }
});

此代码删除 url 和电子邮件选项。但是当对话框出现时,select什么也没有。如何默认select "anchor"选项?

您的定制没问题,只是缺少:

linktypeField.setup = function() {
    this.setValue( 'anchor' );
};

因为在创建新的 link 时默认实现选择 url link 类型,除非 data(link 在编辑器内容中选择)说不同:

setup: function( data ) {
    this.setValue( data.type || 'url' );
},

See the fiddle.