cnumr / cnumr/GreenIT-Analysis

Prise en compte du shadow-dom

Open
#79 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
161
Forks
38
PR merge metrics
No merged PRs in 30d

Description

## description

Le shadom-dom se matérialise ainsi dans le html :

![image](https://github.com/user-attachments/assets/45816dd6-1de9-4170-abc6-5fc40a8b46d1)

Il est ignoré par l'extension.

## Reproduire

Sur le site web https://candidat.francetravail.fr/inscription-en-ligne/ par exemple, on trouve du shadow-dom, Green-it mesure un dom à 270 alors que le vrai dom est à 780.

![image](https://github.com/user-attachments/assets/e0580c06-3cbf-4c97-ad6a-631c3519da55)

## Pistes

- Lighthouse recupere la bonne taille de dom
- Cette fonction permet d'obtenir la bonne taille en tenant en compte le shadow-dom
```js
const countShadom = () => {
const countElements = (element) => {
let count = 1;
Array.from(element.children).forEach(child => {
count += countElements(child);
});

if (element.shadowRoot) {
Array.from(element.shadowRoot.children).forEach(sChild => {
count += countElements(sChild);
});
}
return count;
};

return countElements(document.body)
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.