web-dev-qa-db-fra.com

Script de décapage de l'éditeur

J'ai un formulaire qui a été créé dans un CRM, puis le code copié sur le site Web et mis à jour pour le rendre plus lisible.

Cependant, lorsque je copie le code, le "script" au bas du formulaire, qui effectue la validation du formulaire pour s'assurer que les champs obligatoires sont bien remplis, n'est PAS sauvegardé?

J'utilise TinyMCE Editor dans Joomla 3.5 et j'ai mis à jour les paramètres pour autoriser le script en le supprimant de la section "Éléments interdits" du plug-in, mais cela ne fonctionne toujours pas. J'ai également mis à jour le "Filtre de texte" sur Aucun filtrage.

La page Web que je teste en ce moment est la suivante: http://www.lsl.global/index.php/application-form

Des idées?

5
Sam Potts

J'ai eu des problèmes similaires dans le passé où les scripts semblent être supprimés quels que soient les paramètres de filtrage du texte.

Désactiver temporairement l'éditeur

En tant que solution temporaire, vous pouvez définir temporairement l'éditeur par défaut sur "Aucune" chaque fois que vous modifiez le contenu.

Cela fonctionne mais n'est pas pratique, en particulier lorsque vous ou un autre administrateur oubliez de désactiver l'éditeur et que vous perdez le code lors de l'enregistrement d'une mise à jour.

Sourcerer

Une autre option qui fonctionne bien quels que soient les paramètres de l'éditeur ou du filtre de texte est la version gratuite ou payante de Regular Labs Sourcerer ou similaire.

Sourcerer garantit que le code est intégré à {source}{/source} les balises de votre contenu sont préservées.

3
Neil Robertson

Nous n'avons jamais été en mesure de résoudre ce problème avec Tiny MCE. Comme Neil le suggère, vous devez simplement l'éteindre complètement lorsque vous l'utilisez ou utiliser Sourcerer à partir du composant anciennement appelé NoNumber.

Alternative:

Installez JCE en tant qu'éditeur. Vous avez la possibilité de le configurer pour autoriser les scripts, les iframes, etc., et vous disposez d'un meilleur éditeur avec plus de contrôle à la fin. JCE n'est pas parfait, mais il résout beaucoup de problèmes. Tiny MCE n'a jamais semblé travailler.

1
Faye

TinyMCE supprime les balises vides par défaut, donc une balise telle que <script src="myScript.js"></script Serait supprimée car vide.

Vous pouvez essayer de changer les paramètres du plugin TinyMCE ( Extensions -> Plugins -> ** Editor - TinyMCE) et ajoutez le texte suivant au champ Extended Valid Elements.

script[*]

TinyMCE allow empty tags

Cela devrait vous permettre d'ajouter du code JavaScript directement dans l'éditeur TinyMCE. Assurez-vous simplement de coller le code dans la vue Code, et non dans l'éditeur WYSIWYG. Cela semble aussi fonctionner avec des scripts inline (<script>alert("Testing");</script>)

Cette méthode est également très utile pour les balises vides utilisées pour les icônes, etc. Ajouter i[*] Aux éléments valides étendus vous permettrait d'utiliser les icônes Font Awesome sans que le code soit supprimé:

<i class="fa fa-joomla" aria-hidden="true"></i>
1
johanpw