Cómo evitar que CKEditor 3.6.3.7474 elimine las etiquetas <script>


8

Con Full HTMLlos filtros habilitados y relacionados desactivados, CKEditor eliminará cualquier <script>etiqueta del contenido que está editando. Los editores que crean contenido para este sitio en particular deben poder insertar cosas como esta en el contenido que están creando:

    <img src="http://s2.thingpic.com/images/TD/zKWJQJiFBsp3oP1etNC1.png" width="560" class="alwaysThinglink"/>
<script charset="utf-8" src="//www.thinglink.com/jse/embed.js#286861458501795840"></script>

En teoría, podemos hacer que esto funcione deshabilitando CKEditor y trabajando directamente con HTML, pero en la práctica no funciona: los editores no son expertos en HTML. Saben lo suficiente como para abandonar temporalmente el modo de texto enriquecido, pegar lo anterior y luego volver al modo de texto enriquecido. Pero si van a editar ese contenido nuevamente, CKEditor elimina las <script>etiquetas al abrir el contenido.

¿Cómo puedo detener ese comportamiento y hacer que CKEditor deje las <script>etiquetas en su lugar? ¿Hay una configuración oculta en algún lugar para eso?

Por cierto, estamos usando CKEditor junto con el Wysiwyg 7.x-2.1módulo.

Y sí, en general, permitir <script>es muy malo, pero en este caso las únicas personas que tienen acceso al formato HTML completo son los editores (de confianza).

¡Gracias!

Respuestas:


14

Puede resolver esto yendo a la sección "Opciones avanzadas" de su perfil CKEditor y agregando la siguiente cadena en el área de texto: config.allowedContent = true;

Esto resolvió el problema para mí.


1
no veo una opción avanzada en d8, ¿dónde estaría?
Diana

9

Me encontré con esto también, y fue muy frustrante.

Para mí, el problema fue con el complemento Teaser Break que se incluye con el módulo Wysiwyg. Deshabilitar ese botón para mi perfil Wysiwyg resolvió el problema para mí.

Puede deshabilitar el complemento wysiwyg Teaser Break en Administración ›Configuración› Autoría de contenido ›Perfiles de Wysiwyg (/ admin / config / content / wysiwyg).

Estoy muy interesado en saber si esto también resuelve su problema, o si se encuentra con un problema diferente. Acabo de presentar un nuevo error para esto en http://drupal.org/node/1801166 .


¡Gracias! "config.allowedContent = true;" no funciono para mi
Andrey Minogin

2

Creo que estás buscando la configuración:

  • página admin / config / content / ckeditor / edit / advanced (reemplace advanced con su nombre de perfil).
  • pestaña Filtro de contenido avanzado.
  • configurado en Deshabilitado.

Alternativamente, puede configurarlo en Habilitado y agregar la etiqueta de secuencia de comandos en "Contenido extra permitido", pero con las secuencias de comandos permitidas, también puede permitir cualquier cosa.

Esta configuración es del módulo CKEditor, por lo tanto, esto se cumple cuando no está utilizando el módulo Wysiwyg. Cuando use wysiwyg <Supongo que debe averiguar qué hace esta configuración, probablemente configurando algunas opciones en el CKEditor.

Por cierto: ¿Por qué usar wysiwyg en medio en lugar de elegir el conjunto completo de características de CKEditor? Dejé de usar wysiwyg cuando salió CKeditor 4 y wysiwyg no pudo ofrecer soporte durante mucho tiempo después. Como siempre y solo uso CKEditor, ¿cuál es el punto de tener wysiwyg en el medio?


0

¿Has comprobado la configuración de formato de texto? ¿De modo que no se marca "Limitar etiquetas HTML"? De todos modos, creo que el Módulo Ckeditor sin el Módulo WYSIWYG es más estable.


PLZ ampliar detalles
monymirza

0

Antigua pregunta anterior, pero otra forma de manejar esto es deshabilitar el WYSIWYG de forma predeterminada. Si el WYSIWYG no se activa (enciende / lo que sea) en el modo de edición, entonces la etiqueta del script no se elimina. En mi caso de uso, esto funciona.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.