queryCommandValue/IE: Bei forecolor/backcolor Rückgabew. seltsam
JeSchnell
- javascript
0
Der Martin
hi,
ich arbeite gerade an einem midasbasierten WYSIWYG-Editor und bin gerade an der Stelle angelangt, an der ich nicht mehr weiter weiß:
Ich lese mit queryCommandValue('forecolor' oder 'backcolor'); den Wert der Farbcommands an der aktuellen Cursorposition aus.
Dann vergleiche ich mit einer Schleife die Namen der möglichen Farbwerte und maskiere den der Farbe entsprechenden als ausgewählt. Da bei der Farbausgabe wie bei style.color auch bei queryCommandValue() fast in jedem Browser anders ist und ich sie so nicht ohne Konvertierung mit den möglichen Farbwerten vergleichen kann, mache ich bei jedem Schleifendurchlauf erst folgendes:~~~javascript
Testfeld.style[Eigenschaft] = '#'+AufGleichheitTesteteFarbe;
if(Testfeld.style[Eigenschaft] == RueckgabeVonQueryCommandValue)
Allerdings greift dieser Plan im Explorer nicht, da dieser bei `queryCommandValue()`{:.language-javascript} immer seltsame Rückgabewerte gibt: Einen seltsamen Numberwert, denn ich nicht in eine RGB- oder eine HDez-Angabe zu konvertieren weiß.
Weiß jemand um Rat wie ich im Internet Explorer die aktuelle Hinter- oder Vordergrundfarbe anders auslesen kann oder wie man diese Angabe richtig konvertiert? Ich hoffe, ich konnte mein doch komplexes Problem halbwegs verständlich schildern; falls dem doch nicht so sein sollte, bitte ich eine Frage zu dem nicht verständlichen Teil zu stellen.
Thx. im V.r.!
lg JeSchnell
Hallo,
ich arbeite gerade an einem midasbasierten WYSIWYG-Editor ...
ich kenne weder midas, noch den Editor, mit dem du kämpfst. Aber vielleicht kann ich bei deinem Detailproblem trotzdem weiterhelfen.
Testfeld.style[Eigenschaft] = '#'+AufGleichheitTesteteFarbe;
if(Testfeld.style[Eigenschaft] == RueckgabeVonQueryCommandValue)Allerdings greift dieser Plan im Explorer nicht, da dieser bei
queryCommandValue()immer seltsame Rückgabewerte gibt: Einen seltsamen Numberwert, denn ich nicht in eine RGB- oder eine HDez-Angabe zu konvertieren weiß.
Liefert er vielleicht 6710886, wo du #666666 erwartest, oder 16744448, wenn du #FF8000 erwartest, oder 10027161 anstatt #990099? Dann wäre es einfach der 6stellige Hexwert als Dezimalzahl ausgedrückt. Kannst du das verifizieren?
So long,
Martin
hi,
[...] midasbasierten WYSIWYG-Editor ...
ich kenne weder midas, noch den Editor, mit dem du kämpfst. [...]
Es handelt sich dabei nicht um einen speziellen Editor, mit dem ich arbeite, sondern um eine spezielle Scripting-Technik so wie auch AJAX eine ist. Es geht darum mit der designMode-Eigenschaft in einem iFrame eine Editorfenster einzublenden und diese dann mit dem Einsatz von Command Identifern und den dazugehörigen Funktionen zu formatieren.
Liefert er vielleicht 6710886, wo du #666666 erwartest, oder 16744448, wenn du #FF8000 erwartest, oder 10027161 anstatt #990099? Dann wäre es einfach der 6stellige Hexwert als Dezimalzahl ausgedrückt. [...]
Ach, natürlich, das hätte ich mir eigentlich selbst denken können. 
Danke für den wichtigen Hinweis!
lg JeSchnell
Hallo,
[...] midasbasierten WYSIWYG-Editor ...
ich kenne weder midas, noch den Editor, mit dem du kämpfst. [...]
Es handelt sich dabei nicht um einen speziellen Editor, mit dem ich arbeite, sondern um eine spezielle Scripting-Technik so wie auch AJAX eine ist.
ah okay, verstehe.
Liefert er vielleicht 6710886, wo du #666666 erwartest, oder 16744448, wenn du #FF8000 erwartest, oder 10027161 anstatt #990099? Dann wäre es einfach der 6stellige Hexwert als Dezimalzahl ausgedrückt. [...]
Ach, natürlich, das hätte ich mir eigentlich selbst denken können.
Kenn ich - manchmal hat man einfach ein Brett vor dem Kopf und erkennt selbst einfache Dinge nicht, und hinterher wundert man sich, wie man so blind sein konnte.
Danke für den wichtigen Hinweis!
Freut mich, wenn's weiterhilft!
So long,
Martin