Warum funktioniert diese Anwendung von getComputedStyle nicht in Chrome?
-
Ich versuche, beliebige gültige CSS-Farbangaben in RGB-Werte umzuwandeln und zwar mit folgendem Ansatz (als Beispiel):
var div=document.createElement('div'); div.style.color="black"; alert(JSON.stringify(getComputedStyle(div).color));
Das funktioniert so in Firefox und gibt mir "rgb(0, 0, 0)", aber nicht in Chrome, dort ist color nur ein leerer String.
Wieso und wie kann man es anders lösen?
-
Du musst das Element an den DOM hängen.
Es gibt aber genug Color Name Listen für HTML die dir sagen welcher Name welche RGB Werte hat und auch wie du ungültige Namen in RGB konvertieren musst.
-
Hm, das ist etwas ärgerlich. Könnte ich zwar machen, aber es widerstrebt mir, riesige Farbmaps (140? Stück) für ein Implementierungsdetail hier einzubringen, besonders für etwas, das der Browser bereits kann. Ich beschränke mich für Chrome dann auf Unterstützung von rgb(x,y,z) und #xxyyzz.
-
Wie ich bereits sagte, du kannst das Element auch einfach an das DOM haengen.