如何从链接对话框中删除协议(ckeditor)

Rae*_*kye 6 javascript dialog protocols hyperlink ckeditor

我想删除ckeditor中的"其他"对话框的选项(链接 - >协议).

这让用户感到困惑; 他们没有指定协议,然后链接在我的服务器上查找文件(而不是外部链接,使用户感到困惑).

我尝试从link.js中删除"其他"选项,但这不起作用(仍然显示).如果我从语言文件中删除它,我得到"未定义"而不是其他.我试过没有运气搜索"ckeditor删除链接协议"之类的所有内容.

谁能帮我这个?

Rae*_*kye 11

我找到了解决方案 - 通过更改config.js文件.(我总是看几个小时,最后决定问SO,然后得到一个新的想法,稍后才找到解决方案> <)

CKEDITOR.on( 'dialogDefinition', function( ev )
{
    // Take the dialog name and its definition from the event data.
    var dialogName = ev.data.name;
    var dialogDefinition = ev.data.definition;

    // Check if the definition is from the dialog we're
    // interested in (the 'link' dialog).
    if ( dialogName == 'link' )
    {
        dialogDefinition.getContents('info').get('protocol')['items'].splice(4, 1);
Run Code Online (Sandbox Code Playgroud)

这部分有一点记录.谷歌搜索"删除下拉选项"更为成功.

dialogDefinition.getContents() 得到标签

get('protocol') 获取输入项

['items'].splice(4, 1)获取上面返回的对象的item属性,并从列表中删除最后一个元素(我想我可以使用pop但是无论如何).所以没有更多的other选择.