2014-07-10 1 views
5

Html entfernenJavascript ckeditor Plugins auf Last

<script> 
    config.removePlugins = 'elementspath,save,font'; 
</script> 

Wenn Laden der Seite, die ich oben Code alle ckeditor plugins.I versucht deaktivieren möchten aber es tat nicht für mich arbeiten.

Wie kann ich Plugins per Javascript bei Laden der Seite entfernen?

Jede Hilfe zu schätzen. Danke.

Antwort

12

Sie können eine Liste von Plugins definieren laden (CKEDITOR.config#plugins):

config.plugins = 'wysiwygarea,toolbar,basicstyles,...'; 

Sie können aber auch bestehende (Standard) Liste der Plugins (CKEDITOR.config#removePlugins) beschränken:

config.removePlugins = 'link,...'; 

Beide Optionen können global definiert sein (config.js) oder für eine bestimmte Editorinstanz wie

CKEDITOR.replace('editor1', { 
    removePlugins: 'link' 
}); 

Bitte beachten Sie die offizielle Setting Configuration Anleitung, um mehr zu erfahren.

Hinweis: Seit CKEditor 4.1 bestimmt das Vorhandensein eines Plugins, ob bestimmte mit dem Plugin verknüpfte Inhaltstypen zulässig oder unzulässig sind. Lesen Sie mehr über Advanced Content Filter.

+1

Woher kommt der Name "editor1"? Wann führst du diesen Code aus, nur wenn der Editor zuerst initialisiert wird? Wie können Sie Plugins hinzufügen/entfernen, wenn der Editor bereits geladen ist? Wie interagiert das mit der 'ckeditor()' Funktion selbst? Die Dokumentation erklärt die Dinge nicht sehr gut ... – SeanKendle

+2

'editor1' ist die Standard-ID für den Textbereich, den Sie mit ckeditor ersetzen möchten. Sie können es zu dem ändern, was die ID in Ihrem eigenen html ist. – Acyra

+0

@Acyra Ich möchte es für alle Instanzen von ckeditor entfernen, die erstellt werden (zB DIVs mit contenteditable = "true", die in der Zukunft zu ckeditors werden, wenn sie geklickt werden auf). Wie mache ich das? Es gibt keine globale Variable namens "config", um "removePlugs" zu setzen. Zu der Zeit, als CKEDITOR definiert wurde, scheint es zu spät zu sein, das Plugin ist bereits geladen! – Michael

2

Um meine eigene Frage in dem Kommentar zu oleq Antwort zu beantworten:

ich eine CKEditor Instanz, die ich verwende (mit jQuery) wie folgt:

window.onload = function() { 
     $ckTarget = $(".pageContentTextBox"); 
     if ($(".pageContentTextBox").length > 0) { 
      $ckEditor = $ckTarget.ckeditor({ 
       htmlEncodeOutput: true, 
       removePlugins: "link" 
      }); 
     } 
}; 

ich in der Lage war, erfolgreich zu entfernen das "Link" -Plugin auf diese Weise. Ich werde ein ASP.net-Benutzersteuerelement mit den öffentlichen Eigenschaften "extraPlugins" und "removePlugins" einrichten und die Werte mithilfe der clientseitigen gelben Tags ("code nuggets") einfügen, um diese auf mehreren Seiten mit anderen verwenden zu können Plugins aktiviert/deaktiviert.

Ich hoffe, dass jemand hilft!