Jsdom: Cascade de styles en ligne

Créé le 28 déc. 2016  ·  4Commentaires  ·  Source: jsdom/jsdom

Est-ce que je fais quelque chose de mal ou est-ce que JSDOM manque complètement de support pour les styles en ligne en cascade?

Un exemple simple :

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

Sortir:

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

A titre de référence, voici le comportement du navigateur pour le même exemple :

https://jsfiddle.net/qxu1v1zc/

css feature

Tous les 4 commentaires

JSDOM manque-t-il complètement de support pour les styles en ligne en cascade ?

C'est vrai autant que je sache. Personne n'a encore écrit quoi que ce soit pour traiter correctement la cascade.

Aïe... Cela ressemble à une tâche colossale ? En ce qui concerne la gestion des styles, il semble également qu'il n'y ait aucun type d'analyse de style en place dans getComputedStyle() ? Par exemple, le navigateur renvoie rgb(255, 0, 0) pour la couleur dans l'exemple ci-dessus, tandis que jsdom renvoie red .

Avez-vous une idée de quand/si cela sera corrigé ? Mes tests échouent car getComputedStyle renvoie la mauvaise valeur en raison du manque de cascade dans JSDOM.

Cette page vous a été utile?
0 / 5 - 0 notes