* docs: revamp installation docs for esm and umd Document recommended install paths across the main guides and package READMEs for rrweb, @rrweb/all, @rrweb/record, @rrweb/replay, and rrweb-player. Clarify three usage modes: bundler/npm, browser no-build with import maps and +esm, and legacy UMD fallback. * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply formatting changes * Apply suggestion from @eoghanmurray Co-authored-by: Eoghan Murray <eoghan@getthere.ie> * Apply formatting changes * docs(all): streamline README usage section Move the guide link next to the import example and remove the duplicated Usage section to keep docs concise and easier to scan. * docs(readme): update gzip size badges in zh-cn readme * docs(plugins): update readme imports to scoped esm packages Replace `rrweb` default imports and `rrweb.Replayer` usage with `@rrweb/record` `record` and `@rrweb/replay` `Replayer` in plugin usage examples. Also update canvas WebRTC plugin imports to scoped `@rrweb/*` package names to keep docs aligned with current package structure. * docs: update docs to prefer scoped esm packages replace `rrweb` default import examples with `@rrweb/record` and `@rrweb/replay` across recipes and guides in en/zh-CN. clarify package selection for new integrations, add `@rrweb/all` convenience guidance, and refresh CDN/style import snippets for ESM and legacy UMD compatibility. --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
51 lines
1.2 KiB
Markdown
51 lines
1.2 KiB
Markdown
# Canvas
|
|
|
|
Canvas 是一种特殊的 HTML 元素,默认情况下其内容不会被 rrweb 观测。我们可以通过特定的配置让 rrweb 能够录制并回放 Canvas。
|
|
|
|
录制时包含 Canvas 内的内容:
|
|
|
|
```js
|
|
import { record } from '@rrweb/record';
|
|
|
|
record({
|
|
emit(event) {},
|
|
// 对 canvas 进行录制
|
|
recordCanvas: true,
|
|
});
|
|
```
|
|
|
|
或者启用每秒 15 帧的 Canvas 图像快照记录:
|
|
|
|
```js
|
|
import { record } from '@rrweb/record';
|
|
|
|
record({
|
|
emit(event) {},
|
|
recordCanvas: true,
|
|
sampling: {
|
|
canvas: 15,
|
|
},
|
|
// 图像的格式
|
|
dataURLOptions: {
|
|
type: 'image/webp',
|
|
quality: 0.6,
|
|
},
|
|
});
|
|
```
|
|
|
|
回放时对 Canvas 进行回放:
|
|
|
|
```js
|
|
import { Replayer } from '@rrweb/replay';
|
|
|
|
const replayer = new Replayer(events, {
|
|
UNSAFE_replayCanvas: true,
|
|
});
|
|
replayer.play();
|
|
```
|
|
|
|
**回放 Canvas 将会关闭沙盒策略,导致一定风险**。
|
|
|
|
另外,您可以使用 [rrweb-plugin-canvas-webrtc-record](../../packages/plugins/rrweb-plugin-canvas-webrtc-record/) 和 [rrweb-plugin-canvas-webrtc-replay](../../packages/plugins/rrweb-plugin-canvas-webrtc-replay) 插件通过 WebRTC 流式传输 Canvas 元素。
|
|
有关更多信息,请参考 [canvas-webrtc 文档](../../packages/plugins/rrweb-plugin-canvas-webrtc-record/Readme.md)。
|