6
votes

Comment puis-je obtenir la couleur de la sélection à TinyMCE?

Je crée une application avec un éditeur TinyMCE intégré à l'intérieur. Je souhaite que les commandes de mon application se mettent à jour lorsque la sélection à l'intérieur de l'éditeur TinyMCE change, de sorte que la police, la taille et les menus de couleur montrent la police, la taille et la couleur de la sélection. Font et couleur fonctionne bien, mais je ne peux pas comprendre comment obtenir la couleur. Voici le code que j'utilise: xxx

mais couleur === faux . Comment puis-je obtenir la couleur de premier plan du texte sélectionné ou le texte au point d'insertion dans TinyMCE?

EDIT: Suivi de cette baisse, à la ligne 12377 de Tiny_mce_Prototype_src .js Je vois: xxx

Quand je marche à travers cela dans mon débogueur, t.editorCommands.querycommandvalue (c); retours faux.


4 commentaires

Voulez-vous obtenir la couleur de la sélection ou la couleur choisie sur le panneau avec des instruments?


Voulez-vous la couleur de fond ou la couleur du texte?


@CHeery je veux la couleur du texte sélectionné; Je cache la barre d'outils TinyMCE.


@Thariama je veux la couleur du texte.


4 Réponses :


1
votes

Cela fonctionnera si votre sélection est complètement à l'intérieur du texte coloré xxx


2 commentaires

Jusqu'à présent, cela semble prometteur! Tester plus loin maintenant et acceptera si cela fonctionne!


Ceci presque fonctionne. Le problème est, sur HTML comme

test Il renvoie " " Je suppose parce que le n'a pas de couleur CSS, le fait ...



6
votes

J'essaierais de le faire d'une autre manière (n'a pas vérifié) - Prendre le style calculé:

myTinyMCESettings.handle_node_change_callback = function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){
    var editor = tinyMCE.get(editor_id);
    var color =  tinyMCE.DOM.getStyle(node, 'color', true); // computes current color
    selectionChanged(editor,!any_selection);
};


4 commentaires

Désolé, objet TinyMCE n'a pas de méthode 'getStyle'


@Josh Désolé, manqué un mot :) Cochez la version mise à jour. Il calcule le style de courant au lieu du style de lecture de CSS ou d'un attribut de style.


Ceci presque fonctionne. Le problème est, sur HTML comme

test Il renvoie " " Je suppose parce que le n'a pas de couleur CSS, le fait ...


@Josh and getStyle est censé obtenir la couleur basée sur la couleur du parent. Est-ce que ça? Sinon, écrivez-le comme Tinymce.dom.gettyle (nœud, «Couleur», vrai) PS: Je suis désolé pour tant de mises à jour. Je suis fan de CKeditor :)



3
votes

Je ne sais pas si vous avez résolu cela, mais ce que j'ai fait était: xxx

où ed est la variable de votre éditeur TinyMCE.


0 commentaires

-1
votes

Ceci fera

tinymce.get('my_editor_id').getContentAreaContainer().style.color= "red"


0 commentaires