在CKEditor中,如何在删除目标选项卡时将新窗口中的链接设置为默认值?

use*_*065 3 javascript hyperlink target ckeditor

我希望链接在默认情况下在新窗口中打开.我试过了:

CKEDITOR.on('dialogDefinition', function ( ev ){
   if(ev.data.name == 'link'){
      ev.data.definition.getContents('target').get('linkTargetType')['default']='_blank';
   }
});
Run Code Online (Sandbox Code Playgroud)

它不起作用.但我发现如果我删除以下行.有用.

config.removeDialogTabs = 'image:advanced;image:Link;link:advanced;link:target';
Run Code Online (Sandbox Code Playgroud)

但问题是现在有一个目标选项卡,允许用户更改链接目标.

我想让编辑器尽可能简单,并且不希望允许用户更改链接目标.但是,我想将默认目标设置为目标:_blank.有什么建议?谢谢!

Zac*_* Xu 5

似乎如果删除"目标"选项卡,则无法将默认值更改为"新窗口".

但是,您可以删除"新窗口"以外的"目标"列表中的所有选项,并将其设置为默认值.

请尝试以下代码:

CKEDITOR.on('dialogDefinition', function(e) {
    if (e.data.name === 'link') {
        var target = e.data.definition.getContents('target');
        var options = target.get('linkTargetType').items;
        for (var i = options.length-1; i >= 0; i--) {
            var label = options[i][0];
            if (!label.match(/new window/i)) {
                options.splice(i, 1);
            }
        }
        var targetField = target.get( 'linkTargetType' );
        targetField['default'] = '_blank';
    }
});
Run Code Online (Sandbox Code Playgroud)

在这种情况下,"目标"选项卡仍然存在,但只有一个值("新窗口")可供选择,因此用户无法更改此值.

希望这可以帮助.