-
-
Notifications
You must be signed in to change notification settings - Fork 210
Home
David Ortner edited this page Mar 16, 2024
·
60 revisions
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
The goal of Happy DOM is to emulate enough of a web browser to be useful for testing, scraping web sites and server-side rendering.
Happy DOM focuses heavily on performance and can be used as an alternative to JSDOM.
- Custom Elements (Web Components)
- Declarative Shadow DOM
- Mutation Observer
- Tree Walker
- Fetch API
- File Reader
- CSS Style Declaration
- Form Data
- Selection
- Form Validity State
- IFrames
- Cookies
- Clipboard
And much more..
Operation | JSDOM | Happy DOM |
---|---|---|
Import / Require | 333 ms | 45 ms |
Parse HTML | 256 ms | 26 ms |
Serialize HTML | 65 ms | 8 ms |
Render custom element | 214 ms | 19 ms |
querySelectorAll('tagname') | 4.9 ms | 0.7 ms |
querySelectorAll(':nth-child(2n+1)') | 10.4 ms | 3.8 ms |
See how the test was done here