Neat Paraskavedekatriaphobia's Meaning

    @demostack/rrweb-snapshot
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.14-ds-1.4.5 • Public • Published

    @demostack/rrweb-snapshot

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


    rrweb

    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.


    demostack

    Modifications made

    The following methods are modified in @demostack/rrweb-snapshot to better suit our need of capturing the DOM for Tours:

    getTagName

    Checking if tagName of element is equal to any of our environment TourStepEngine script URLs and omitting the change from script to a noscript. This modification allows us to see tooltips/baloons/steps.

    absoluteToStylesheet

    Checking if filePath includes \\ and replacing \\ with if it does. This modification fixed the display of background image links. Without it @demostack/rrweb-snapshot wouldn't place the right link in background: url(...).

    Install

    npm i @demostack/rrweb-snapshot

    DownloadsWeekly Downloads

    705

    Version

    1.1.14-ds-1.4.5

    License

    MIT

    Unpacked Size

    509 kB

    Total Files

    16

    Last publish

    Collaborators

    • matany
    • demostackminja
    • tamirraz
    • gonendemostack
    • carboncopy.co