J'utilise TinyMCE 5. J'ai défini une image_list, que je dois changer dynamiquement à mesure que les images sont manipulées ailleurs dans la page. Je fais cela en appelant tinymce.remove () suivi de tinyme.init (), en initialisant avec un nouvel objet de configuration qui a la liste image mise à jour.
Cependant, si l'utilisateur a changé l'état, par exemple en cliquant sur «coller en tant que texte», lorsque l'éditeur réinitialisera ces modifications seront perdues.
Puis-je interroger l'état de l'éditeur afin de pouvoir le réinitialiser dans le même état qu'il se trouvait lors de sa fermeture?
3 Réponses :
Chaque fois que vous activez Coller en tant que texte, l'éditeur déclenche un événement ( PastePlainTextToggle ) afin que vous puissiez choisir d'écouter cet événement et de savoir s'il est activé ou désactivé.
Vous pouvez alors (lors de la réinitialisation de l'éditeur) appeler editor.execCommand ('mceTogglePlainTextPaste') pour l'activer si c'était le dernier état défini lors de la session d'édition précédente.
Voici un TinyMCE Fiddle montrant comment vous pourriez être en mesure de suivre ce paramètre:
Merci, cela fonctionne. Cependant, je ne trouve pas cet événement documenté dans la documentation TinyMCE. Et par conséquent, puisque mon alternative ci-dessous est légèrement moins de code, je vais m'en tenir à cela.
Nous avons trouvé une façon de procéder:
tinymce.editors.
renverra "texte" ou "html" selon le paramètre "coller en tant que texte" actuel.
Bien sûr, ce n'est pas documenté, donc pas idéal.
J'ai maintenant trouvé un moyen de le faire qui est documenté: TinyMCE 5 Docs Dans le cas de le bouton «Coller en tant que texte», la valeur de la commande est «mceTogglePlainTextPaste».
Puis continuez comme ci-dessus dans la réponse de Michael Fromin
L'événement ExecCommand est déclenché lorsque (presque) n'importe quel bouton de la barre d'outils est cliqué, fournissant un moyen de garder une trace de l'état de l'éditeur en ajoutant à l'objet de configuration de l'éditeur quelque chose comme: setup: function(editor) {
editor.on('ExecCommand', function(e) {
alert('command was '+e.command+', value was '+e.value);
}
)}