Yanzhen Yu
927f754a9d
format code
2026-04-01 12:00:00 +08:00
吴泽康
94d64e3424
Add canvas image content support ( #20 )
...
* Add canvas image content support
* use rr_dataURL as the key so we know its a rrweb-added attribute.
* fix canvas rr_dataURL rebuild
2026-04-01 12:00:00 +08:00
yz-yu
cbe23963a0
add the HACK_CSS flag to bypass css parsing ( #16 )
2026-04-01 12:00:00 +08:00
dphuang2
939eddcca5
Ignore broken CSS ( #15 )
...
Broken CSS inside a page will throw an error on our behalf. This should
be ignored because we are not in control of the CSS on the page we are
recording.
2026-04-01 12:00:00 +08:00
Yanzhen Yu
fbfdafae34
remove child node before set default value
2026-04-01 12:00:00 +08:00
Yanzhen Yu
21e8affa2b
Use css parser to add hover class name to selectors.
...
Previously we use a regexp to match all the CSS selectors and add
our hover class name to it, which has been proved not solid and
may be very slow in some situation.
Using a production ready css parser can handle this better and also
provide ability's to do more accurate things to the recorded
stylesheets.
2026-04-01 12:00:00 +08:00
Razvan Sandu
149c78802a
Allow rendering image tags inside svgs during replay ( #13 )
2026-04-01 12:00:00 +08:00
Yanzhen Yu
29f2e42978
iterate style element to get css rules string
2026-04-01 12:00:00 +08:00
Yanzhen Yu
6259ae631d
add camel case svg element tag names to tag map
2026-04-01 12:00:00 +08:00
Yanzhen Yu
55ce53ffa0
close before open to make sure document was closed
2026-04-01 12:00:00 +08:00
Yanzhen Yu
2d1d3596b8
handle block element
2026-04-01 12:00:00 +08:00
Yanzhen Yu
8b470ab6c8
remove _cssText attribute from style element
2026-04-01 12:00:00 +08:00
Yanzhen Yu
c458db3d8e
ignore iframe src attribute
2026-04-01 12:00:00 +08:00
Yanzhen Yu
e9786e7596
check is svg when serialization
2026-04-01 12:00:00 +08:00
Yanzhen Yu
2065e00c5d
Fix the regexp performance issue
...
Also move the addHoverClass implementation into the rebuild stage.
So if there is still some corner case we have not handled, it will
only affect the replayer part of rrweb.
2026-04-01 12:00:00 +08:00
Yanzhen Yu
b964d18ef7
allow skip child when serialize node and rebuild node
2026-04-01 12:00:00 +08:00
Yanzhen Yu
9a4c21c30f
refactor rebuild implementation which mount DOM onto the target document object
2026-04-01 12:00:00 +08:00
Yanzhen Yu
19eca4da6d
use document object from params instead of the one in the current scope
2026-04-01 12:00:00 +08:00
Yanzhen Yu
875385552d
impl the extra child data attribute to align id map
2026-04-01 12:00:00 +08:00
Yanzhen Yu
cb3efd427f
add data attribute to element when rebuild
2026-04-01 12:00:00 +08:00
Yanzhen Yu
0434129b00
return id node map when rebuild
2026-04-01 12:00:00 +08:00
Yanzhen Yu
ac5293f162
add strict null check and fix codes
2026-04-01 12:00:00 +08:00
Yanzhen Yu
51737d9b53
try to inline linked stylesheet when in same origin
2026-04-01 12:00:00 +08:00
Yanzhen Yu
e9cf631934
replace script tag with noscript and inline the states of form field components
2026-04-01 12:00:00 +08:00
Yanzhen Yu
ed2bc918e0
setup tests
2026-04-01 12:00:00 +08:00
Yanzhen Yu
a71fb73aaf
basic rebuild implementation
2026-04-01 12:00:00 +08:00