@omni-probe/browser
v0.1.0
Published
Lightweight browser monitoring runtime for omni-probe
Maintainers
Readme
@omni-probe/browser
轻量 Browser 监控 Runtime,提供页面访问、路由、JavaScript 错误、Promise 拒绝、fetch、XHR、点击摘要和 Breadcrumb 自动采集。
npm install @omni-probe/browserimport { createBrowserProbe } from '@omni-probe/browser'
const probe = createBrowserProbe({
appId: 'admin-web',
ignoreUrls: ['/report-events'],
clickTargetMode: 'actionable',
emitClickEvents: false,
clickTextEnabled: false,
onEvent(events) {
console.log('[omni-probe]', events)
},
})
probe.track('login_success')
probe.setUser({ id: 'user-1' })
await probe.destroy()默认启用 autoPageView、autoRoute、autoError、autoHttp 和 autoClick。同一 JavaScript Realm 只允许一个活动 Browser Runtime;销毁后可以重新创建。
自动点击默认采用 clickTargetMode: 'actionable':只匹配 data-probe-name、原生可交互控件和允许列表中的交互 ARIA role。普通 body、div、span、p 和纯文本区域不采集。目标或祖先带 data-probe-ignore 时整次点击被忽略。
有效点击默认只写入 Breadcrumb,不占用独立事件队列。只有显式设置 emitClickEvents: true 时才额外上报 click 事件。可选目标模式:
annotated:仅采集带非空data-probe-name的目标;actionable:默认模式,采集显式标记和语义可交互元素;all:采集普通元素,仅建议临时调试。
自动点击用于诊断用户操作意图;订单创建、支付成功、业务失败等结果应使用稳定命名的 track() 手动埋点。
URL query 中的常见敏感字段会替换为 [Filtered]。默认不采集输入值、请求体、响应体、Header、Cookie、Token、完整 DOM 或 CSS Selector。clickTextEnabled 默认关闭,即使开启也不会采集输入控件或 contenteditable 内容。
Vue 适配器会接管路由和首次 PV。与 @omni-probe/vue3 或 @omni-probe/vue2 配合时,创建 Browser Probe 必须显式设置:
{
autoRoute: false,
autoPageView: false,
}完整浏览器示例见仓库 examples/browser-demo。
License: MIT
