Comment empêcher CKEditor 3.6.3.7474 de supprimer les balises <script>

8

Avec Full HTMLles filtres activés et associés désactivés, CKEditor supprimera toutes les <script>balises du contenu qu'il modifie. Les éditeurs qui créent du contenu pour ce site particulier doivent être capables d'incorporer des choses comme celle-ci dans le contenu qu'ils créent:

    <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 théorie, nous pouvons faire en sorte que cela fonctionne en désactivant CKEditor et en travaillant directement avec HTML, mais en pratique cela ne fonctionne pas: les éditeurs ne sont pas avertis en HTML. Ils en savent assez pour abandonner temporairement le mode texte riche, coller ce qui précède, puis revenir en mode texte riche. Mais s'ils vont à nouveau modifier ce contenu, CKEditor supprime les <script>balises lors de l'ouverture du contenu.

Comment puis-je arrêter ce comportement et laisser CKEditor laisser les <script>balises en place? Y a-t-il un cadre caché quelque part pour ça?

BTW, nous utilisons CKEditor en conjonction avec le Wysiwyg 7.x-2.1module.

Et oui, en général, l'autorisation <script>est très mauvaise, mais dans ce cas, les seules personnes qui ont accès au format Full HTML sont les éditeurs (qui font confiance).

Merci!

Igor
la source

Réponses:

14

Vous pouvez résoudre ce problème en accédant à la section "Options avancées" de votre profil CKEditor et en ajoutant la chaîne suivante dans la zone de texte: config.allowedContent = true;

Cela a résolu le problème pour moi.

Chris
la source
1
je ne vois pas d'option avancée dans d8 où serait-ce?
Diana
9

Je me heurtais à cela aussi, et c'était très frustrant.

Pour moi, le problème était avec le plugin Teaser Break fourni avec le module Wysiwyg. La désactivation de ce bouton pour mon profil Wysiwyg a résolu le problème pour moi.

Vous pouvez désactiver le plug-in Teaser Break wysiwyg dans Administration ›Configuration› Création de contenu ›Profils Wysiwyg (/ admin / config / content / wysiwyg).

Je suis très intéressé de savoir si cela résout également votre problème ou si vous rencontrez un problème différent. Je viens de déposer un nouveau bug pour cela sur http://drupal.org/node/1801166 .

Benjamin Barber
la source
Je vous remercie! "config.allowedContent = true;" n'a pas fonctionné pour moi.
Andrey Minogin
2

Je pense que vous cherchez le cadre:

  • page admin / config / content / ckeditor / edit / advanced (remplacez advanced par le nom de votre profil).
  • onglet Filtre de contenu avancé.
  • réglé sur Désactivé.

Alternativement, vous pouvez le définir sur Activé et ajouter la balise de script dans "Contenu supplémentaire autorisé", mais avec les scripts autorisés, vous pouvez également autoriser tout.

Ce paramètre provient du module CKEditor, il est donc valable lorsque vous n'utilisez pas le module Wysiwyg. Lorsque vous utilisez wysiwyg <je suppose que vous devez découvrir ce que fait ce paramètre, probablement en définissant certaines options dans le CKEditor.

BTW: Pourquoi utiliser wysiwyg entre les deux au lieu d'aller pour l'ensemble des fonctionnalités de CKEditor. J'ai cessé d'utiliser wysiwyg lorsque CKeditor 4 est sorti et wysiwyg n'a pas pu offrir de support pour cela longtemps après. Comme j'utilise toujours et uniquement CKEditor, quel est l'intérêt d'avoir wysiwyg entre les deux?

fietserwin
la source
0

Avez-vous vérifié les paramètres du format de texte? Alors que "limiter les balises HTML" n'est pas coché? Quoi qu'il en soit, je pense que le module Ckeditor sans module WYSIWYG est plus stable.

Marius
la source
plz expand details
monymirza
0

Vieille vieille question, mais une autre façon de gérer cela est de désactiver le WYSIWYG par défaut. Si le WYSIWYG ne se déclenche pas (activer / quoi que ce soit) en mode édition, la balise de script n'est pas supprimée. Dans mon cas d'utilisation, cela fonctionne.

cdmo
la source