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

时间:2012-11-11 20:46:16

标签: javascript hyperlink dialog ckeditor protocols

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

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

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

任何人都可以帮我吗?

3 个答案:

答案 0 :(得分: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);

这部分内容有些记载。谷歌搜索“删除下拉选项”更为成功。

dialogDefinition.getContents()获取标签

get('protocol')获取输入项

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

答案 1 :(得分:3)

我们遇到了类似问题,我们还从下拉列表中删除了其他选项。

从plugins \ link \ dialog文件夹

修改link.js文件中的以下文本
items:[['http://‎','http://'],['https://‎','https://'],['ftp://‎','ftp://'],['news://‎','news://'],[E.other,'']]

用这个

items:[['http://‎','http://'],['https://‎','https://'],['ftp://‎','ftp://'],['news://‎','news://']]

它应该可以正常工作。请参见下面的屏幕截图

enter image description here

答案 2 :(得分:3)

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' )
    {
    // Remove the 'Target' and 'Advanced' tabs from the 'Link' dialog.
    dialogDefinition.removeContents( 'target' );
    dialogDefinition.removeContents( 'advanced' );

    // Get a reference to the 'Link Info' tab.
    var infoTab = dialogDefinition.getContents( 'info' );
        infoTab.remove( 'protocol');

    }
});

将上述代码放在ckeditor插件的config.js中