Jsdom: Kaskadierung von Inline-Stilen

Erstellt am 28. Dez. 2016  ·  4Kommentare  ·  Quelle: jsdom/jsdom

Mache ich etwas falsch oder fehlt JSDOM die Unterstützung für kaskadierende Inline-Stile?

Ein einfaches Beispiel:

var doc = jsdom.jsdom('<html><body><div style="color: red;"><div id="nested"></div></div></body></html>');
var win = doc.defaultView;
var el = doc.getElementById('nested');
console.log(win.getComputedStyle(el, ''));

Ausgabe:

CSSStyleDeclaration {
  '0': 'display',
  _values: { display: 'block' },
  _importants: { display: '' },
  _length: 1,
  _onChange: [Function] }

Als Referenz hier das Verhalten des Browsers für dasselbe Beispiel:

https://jsfiddle.net/qxu1v1zc/

css feature

Alle 4 Kommentare

fehlt JSDOM vollständig die Unterstützung für kaskadierende Inline-Stile?

Das stimmt afaik. Bisher hat noch niemand etwas geschrieben, um mit Kaskadierung richtig umzugehen.

Autsch... Das klingt nach einer gewaltigen Aufgabe? Was die Handhabung von Stilen angeht, sieht es auch so aus, als gäbe es in getComputedStyle() keine Art von Stilanalyse. Beispielsweise gibt der Browser im obigen Beispiel rgb(255, 0, 0) für die Farbe zurück, während jsdom red zurückgibt.

Irgendeine Ahnung, wann/ob das behoben wird? Meine Tests schlagen fehl, weil getComputedStyle aufgrund fehlender Kaskadierung in JSDOM den falschen Wert zurückgibt.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

domenic picture domenic  ·  3Kommentare

jhegedus42 picture jhegedus42  ·  4Kommentare

potapovDim picture potapovDim  ·  4Kommentare

machineghost picture machineghost  ·  4Kommentare

kilianc picture kilianc  ·  4Kommentare