Supprimer htmlPreview dans le plugin d'image de CKEditor

J'ai un problème avec l'élément cachant l'aperçu dans le plugin d'image de CKEditor. J'ai besoin d'une boîte de dialogue d'image très simple avec le seul champ de saisie pour la source d'image et le formulaire avec le bouton pour l'importation de l'image. J'ai donc supprimé des éléments inutiles à l'aide de ces paramètres de configuration personnalisés:

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

Les problèmes commencent lorsque j'essaye de cacher l'élément htmlPreview. Si j'ajoute simplement infoTab.remove( 'htmlPreview ' ); , Une erreur se produira: Uncaught TypeError: Cannot call method 'setStyle' of null raison des dépendances de code pour l'élément supprimé. J'ai beaucoup googlé et il semble qu'il existe deux façons de résoudre ce problème: éditez manuellement le code source du plugin tel qu'il y est écrit (

Je suppose que la seule solution consiste à supprimer toutes les fonctions javascript de l'image / dialogues / image.js qui se réfèrent à ces objets html que vous avez supprimés.

J'ai essayé de suivre ce conseil, mais je n'ai pas pu modifier le fichier source sans erreurs ultérieures) ou j'écris le mien. Bien sûr, je peux simplement ajouter des règles css et faire des éléments cachés, mais je suppose que ce n'est pas une bonne idée. Ce problème est assez ancien et je suis sûr qu'il existe une bonne solution, mais je n'ai pas réussi à le trouver. J'espère que tu vas m'aider. Merci d'avance.

PS J'ai la dernière version de CKEditor – 3.6.4.

En raison de la façon dont la boîte de dialogue de l'image est écrite, vous ne pouvez pas facilement supprimer l'aperçu sans ajuster le reste du fichier pour enlever toutes ses références.

Je vous suggère d'utiliser mon plugin de configuration (ou d'écrire un code similaire) comme décrit ici: http://alfonsoml.blogspot.com.es/2012/04/hide-dialog-fields-in-ckeditor.html

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

Vous pouvez télécharger le plugin de mon blog ou si vous avez changé vers CKEditor 4, ajoutez-le à votre compilation: http://ckeditor.com/addon/confighelper

Vous pouvez essayer infoTab.remove( 'htmlPreview' );