resume with time offset when after wait stylesheet load

This commit is contained in:
Yanzhen Yu
2026-04-01 12:00:00 +08:00
parent 17751e528d
commit 4f58cad48d
4 changed files with 6 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "rrweb",
"version": "0.7.10",
"version": "0.7.11",
"description": "record and replay the web",
"scripts": {
"test": "npm run bundle:browser && cross-env TS_NODE_CACHE=false TS_NODE_FILES=true mocha -r ts-node/register test/**/*.test.ts",

View File

@@ -156,7 +156,7 @@ function initMutationObserver(
: mirror.getId(n.previousSibling as INode),
nextId: !n.nextSibling
? n.nextSibling
: mirror.getId(n.nextSibling as INode),
: mirror.getId((n.nextSibling as unknown) as INode),
node: serializeNodeWithId(n, document, mirror.map, blockClass, true)!,
});
} else {

View File

@@ -302,7 +302,7 @@ export class Replayer {
this.pause();
this.emitter.emit(ReplayerEvents.LoadStylesheetStart);
timer = window.setTimeout(() => {
this.resume();
this.resume(this.timer.timeOffset);
// mark timer was called
timer = -1;
}, this.config.loadTimeout);
@@ -311,7 +311,7 @@ export class Replayer {
css.addEventListener('load', () => {
unloadSheets.delete(css);
if (unloadSheets.size === 0 && timer !== -1) {
this.resume();
this.resume(this.timer.timeOffset);
this.emitter.emit(ReplayerEvents.LoadStylesheetEnd);
if (timer) {
window.clearTimeout(timer);

3
typings/types.d.ts vendored
View File

@@ -214,6 +214,7 @@ export declare enum ReplayerEvents {
LoadStylesheetStart = "load-stylesheet-start",
LoadStylesheetEnd = "load-stylesheet-end",
SkipStart = "skip-start",
SkipEnd = "skip-end"
SkipEnd = "skip-end",
MouseInteraction = "mouse-interaction"
}
export {};