7

ckeditorの「その他」ダイアログのオプションを削除したい(リンク->プロトコル)。

ユーザーを混乱させます。プロトコルが指定されていない場合、リンクはサーバー上のファイルを検索します(外部リンクではなく、ユーザーを混乱させます)。

link.jsから「その他」のオプションを削除しようとしましたが、機能しませんでした(まだ表示されます)。言語ファイルから削除すると、他のファイルではなく「未定義」になります。運が悪かったので、「ckeditorremovelinkprotocol」のようなものをすべて検索してみました。

誰かがこれを手伝ってくれますか?

4

3 に答える 3

12

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);

この部分はある程度文書化されています。「ドロップダウンオプションの削除」のGoogle検索はより成功しました。

dialogDefinition.getContents()タブを取得します

get('protocol')入力項目を取得します

['items'].splice(4, 1)上で返されたオブジェクトのitemプロパティを取得し、リストから最後の要素を削除します(popを使用できると思いますが、何でもかまいません)。したがって、otherオプションはもうありません。

于 2012-11-11T21:59:40.993 に答える
4
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に入れます

于 2013-08-26T06:53:46.493 に答える
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://']]

正常に動作するはずです。以下のスクリーンショットを参照してください

ここに画像の説明を入力してください

于 2012-11-11T21:08:18.993 に答える