web-dev-qa-db-fra.com

TinyMCE supprime les balises <style>

Je suis confronté à un problème avec TinyMCE. Lorsque j'entre une étiquette de style dans l'éditeur HTML de TinyMCE, les étiquettes sont supprimées lorsque je clique sur mettre à jour. 

<style type="text/css"> 
     .newclasss { color:#c9c9c9; } 
</style>

Mes éléments valides sont les suivants: 

<script type="text/javascript">

var valid_elms = "hr[class|width|size|noshade]";
valid_elms    += "span[class|align|style],";
valid_elms    += "font[face|size|color|style],";
valid_elms    += "img[href|src|name|title|onclick|align|alt|title|";
valid_elms    += "width|height|vspace|hspace],";
valid_elms    += "iframe[id|class|width|size|noshade|src|height|";
valid_elms    += "frameborder|border|marginwidth|marginheight|";
valid_elms    += "target|scrolling|allowtransparency],style";

extended_valid_elements: valid_elms
</script>

Quelqu'un peut-il aider s'il vous plaît??

45
jyoti

Comme les balises de style ne sont pas valides en XHTML, TinyMCE a désactivé la possibilité de les ajouter en dehors des balises. 

Vous devez ajouter des balises de style à la configuration valid children

valid_children : "+body[style]"

Edit: Cette solution s'applique à la version 3.4.2

La source

65
Yaz
"hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style],img[href|src|name|title|onclick|align|alt|title|width|height|vspace|hspace],iframe[id|class|width|size|noshade|src|height|frameborder|border|marginwidth|marginheight|target|scrolling|allowtransparency],style[type]"

Faites-moi savoir comment cela fonctionne pour vous

7
John

Si vous mettez tinyMCE en mode pleine page, vous pouvez insérer des styles dans le <head>

<script type="text/javascript">
tinyMCE.init({
        plugins : "fullpage",
});
</script>
2
Erik van Velzen

C'est un peu hacky, mais j'utilise TinyMCE 4 et j'étais dans un pincement. J'ai donc ajouté une balise <script> dans la vue Code source de l'éditeur TinyMCE et utilisé jQuery pour changer les styles .

<script>$("#signup").css("font-weight", "bold");</script>

Cela suppose que TinyMCE a été configuré pour ne pas interdire les balises de script et que votre page contient déjà jQuery comme le mien. Sinon, vous pouvez utiliser la norme javascript pour modifier les styles .

1
Matthew Lock

Pour moi, je dois procéder comme suit dans TinyMCE 4.5.7:

tinyMCE.schema.addValidChildren("body[style]")
0
Walty Yeung