hqtlp-snapshot
hqtlp-snapshot
npm i hqtlp-snapshot
hqtlp-snapshot

hqtlp-snapshot

rrweb's snapshot and rebuild module

by rrweb-io

0.7.232 (see all)License:MITTypeScript:Built-In
npm i hqtlp-snapshot
Readme

rrweb-snapshot

Build Status Join the chat at https://gitter.im/rrweb-io/rrweb-snapshot

Snapshot the DOM into a stateful and serializable data structure. Also, provide the ability to rebuild the DOM via snapshot.

API

This module export following methods:

snapshot

snapshot will traverse the DOM and return a stateful and serializable data structure which can represent the current DOM view.

There are several things will be done during snapshot:

  1. Inline some DOM states into HTML attributes, e.g, HTMLInputElement's value.
  2. Turn script tags into noscript tags to avoid scripts being executed.
  3. Try to inline stylesheets to make sure local stylesheets can be used.
  4. Make relative paths in href, src, CSS to be absolute paths.
  5. Give an id to each Node, and return the id node map when snapshot finished.

rebuild

rebuild will build the DOM according to the taken snapshot.

There are several things will be done during rebuild:

  1. Add data-rrid attribute if the Node is an Element.
  2. Create some extra DOM node like text node to place inline CSS and some states.
  3. Add data-extra-child-index attribute if Node has some extra child DOM.

serializeNodeWithId

serializeNodeWithId can serialize a node into snapshot format with id.

buildNodeWithSN

buildNodeWithSN will build DOM from serialized node and store serialized information in __sn property.

Downloads/wk

4

GitHub Stars

149

LAST COMMIT

1yr ago

MAINTAINERS

1

CONTRIBUTORS

26

OPEN ISSUES

4

OPEN PRs

3
VersionTagPublished
0.7.232
latest
3yrs ago
No alternatives found
No tutorials found
Add a tutorial

Rate & Review

100
No reviews found
Be the first to rate