2012-09-06 12 views
5

Ich habe ein Problem mit Preview-Element in CKEditor Bild Plugin ausblenden. Ich brauche ein sehr einfaches Bilddialogfeld mit nur Eingabefeld für Bildquelle und Formular mit Schaltfläche zum Hochladen von Bildern. So entfernte ich unnötigen Elemente, die diese benutzerdefinierten Konfigurationseinstellungen:Entfernen htmlPreview in CKEditor Bild Plugin

CKEDITOR.on('dialogDefinition', function(ev) 
{ 
    var dialogName = ev.data.name; 
    var dialogDefinition = ev.data.definition; 
    if (dialogName == 'image'){ 
     dialogDefinition.removeContents('advanced'); 
     dialogDefinition.removeContents('Link'); 
     var infoTab = dialogDefinition.getContents('info'); 
     infoTab.remove('ratioLock'); 
     infoTab.remove('txtHeight');   
     infoTab.remove('txtWidth');   
     infoTab.remove('txtBorder'); 
     infoTab.remove('txtHSpace'); 
     infoTab.remove('txtVSpace'); 
     infoTab.remove('cmbAlign'); 
     infoTab.remove('txtAlt'); 
    } 
}); 

Probleme beginnen, wenn ich versuche htmlPreview Element zu verstecken. Wenn ich einfach infoTab.remove('htmlPreview '); hinzufügen, wird ein Fehler auftreten: Uncaught TypeError: Cannot call method 'setStyle' of null wegen Codeabhängigkeiten für das entfernte Element. Ich googeln viel und es scheint, dass es zwei Möglichkeiten, dieses Problem zu lösen - von Hand Quellcode-Plugin geschrieben there (

Ich denke, die einzige Lösung bearbeiten ist, all JavaScript-Funktionen von Bild/Dialogen zu entfernen /image.js, die auf diese hTML-Objekte verweisen, die Sie entfernt.

ich habe versucht, diesen Rat zu folgen, konnte aber nicht Quelldatei ohne Folgefehler) oder schreibe meine eigenen bearbeiten. Natürlich kann ich einfach einige CSS-Regeln hinzufügen und Elemente verstecken, aber ich denke, das ist keine gute Idee. Dieses Problem ist alt genug und ich bin sicher, es gibt eine gute Lösung, aber ich habe es nicht gefunden. Hoffe, du wirst mir helfen. Vielen Dank im Voraus.

P.S. Ich habe die neueste Version von CKEditor - 3.6.4.

Antwort

7

Aufgrund der Art und Weise versuchen, dass das Bild Dialog geschrieben wird, können Sie die Vorschau nicht leicht entfernen kann, ohne weiter den Rest der Datei Einstellung auch alle seine Referenzen zu entfernen.

Ich würde Ihnen vorschlagen, meine Konfiguration Plugin (oder schreiben Sie einen ähnlichen Code) zu verwenden, wie hier beschrieben: http://alfonsoml.blogspot.com.es/2012/04/hide-dialog-fields-in-ckeditor.html

config.hideDialogFields="image:info:htmlPreview"; 

Sie können das Plugin von meinem Blog, oder wenn Sie auf CKEditor 4 geschaltet haben, fügen es zu Ihrem Build: http://ckeditor.com/addon/confighelper

+0

Dies ist immer noch eine einfache und effektive Lösung in 14. November. Das Plugin (verfügbar von der ckeditor-Website als verknüpft) hat mich Stunden und Stunden gespeichert. Danke @ AlfonsoML –

0

u infoTab.remove('htmlPreview');

+0

Sie haben meine Frage nicht sorgfältig gelesen. Ich habe erwähnt, dass diese Methode nicht funktioniert. –

Verwandte Themen