Jsdom: インラインスタイルのカスケード

作成日 2016年12月28日  ·  4コメント  ·  ソース: jsdom/jsdom

私は何か間違ったことをしていますか、それともJSDOMはカスケードインラインスタイルのサポートを完全に欠いていますか?

簡単な例:

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, ''));

出力:

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

参考までに、同じ例でのブラウザの動作は次のとおりです。

https://jsfiddle.net/qxu1v1zc/

css feature

全てのコメント4件

JSDOMは、カスケードインラインスタイルのサポートを完全に欠いていますか?

それは本当のafaikです。 カスケードを適切に処理するための記述はまだありません。

痛い...それは大規模な作業のように聞こえますか? スタイル処理に関する限り、 getComputedStyle()にはスタイル解析が行われていないようにも見えますか? たとえば、ブラウザは上記の例の色に対してrgb(255, 0, 0)を返しますが、jsdomはredを返します。

これがいつ/いつ修正されるかについて何か考えはありますか? JSDOMにカスケードがないため、getComputedStyleが間違った値を返すため、テストが失敗します。

このページは役に立ちましたか?
0 / 5 - 0 評価