Desarrollo web, móvil y algo más…
Errores comunes al usar CKEditor
En estos días he tenido que trabajar bastante con el editor de texto enriquecido CKEditor, me ha sorprendido bastante el peuqeño número de problemas que me ha dado su integración con una aplicación existente, me ha gustado mucho y me ha convencido su desempeño, basatante rápido para el número de funcionalidades que nos ofrece, respecto a otras soluciones:
- Servicio de plantillas.
- Editor a pantalla completa.
- Revisión de ortografía.
- Inclusión de imágenes y capacidad de integración con tu tecnología del servidor para hacer la subida de imagenes.
- Integración con CKFinder par explorar los archivos disponibles en el servidor.
- Un gran número de opciones estándar de edición de texto (negrilla, cursiva, formatos de texto, colores de fuente y fondo y un largo etcétera).
La integración resultó bastante sencilla, basta con seguir los pasos publicados en la documentación oficial, sin embargo al extender la funcionalidad, vaya que me ha causado algún dolor de cabeza.
Problema 1: Al recargar parte de la página que contiene el area de texto e intentar inicializar el editor de nuevo me lanza el error:
uncaught exception: [CKEDITOR.editor
El problema radica en que la instancia del editor ya ha sido creada y para prevenir problemas de cargas de memoia en el javascript, CKEditor no nos permite recrearla, he solucionado el error removiendo la instancia del editor “ipHTML”, así:
if (edInstance) {
CKEDITOR.remove(edInstance);
}
Esto me ha funcionado de forma temporal, sin embargo, luego vino un problema, que a pesar de nos ser un error constante, si causaba bastante molestia al tratar de obtener el contenido html del editor, el error es el siguiente (Visto con firebug y ni quiero decir lo que sale en internet explorer xD):
Problema 2: Al tratar de acceder al contenido del editor me lanza el error:
He revisado un poco en el track de la versión anterior y nos dan una explicación de problema javascript al recargar el contenido de un textarea, sin embargo eso no solucionaba mi problema, en el sitio oficial de la versión actual lo comentan pero sin citar la solución , al continuar investigando he encontrado una solución, la cual consiste en remover por completo la instancia del editor, así:
if (edInstance) {
CKEDITOR.remove(edInstance);
edInstance.destroy();
edInstance= null;
}
Este par de soluciones no están muy bien documentadas en el sitio oficial y por tal razón me ha tocado investigar en los foros y sitios allegados, por esto he decidido publicarlos aquí por si les llegase a pasar en algún momento.
| Imprimir artículo | Este artículo fue publicado por sysdent el 19 February 2010 a las 15:46, y está archivado en General. Sigue las respuestas a esta entrada a través de RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio. |
hace 6 meses
Está muy bueno el blog, parce.
Felicitaciones
hace 6 meses
Muchas gracias Cortex, en parte este blog tiene mucho que agradecerte, ver cortex-sb.net me motivó a montar el mio, además gracias a sus videotutoriales hice mi primera instalación de wordpress xD…
Saludos.