脚本接入
通过一行 script 标签接入浏览器端 SDK,支持 SPA 路由与页面变量。
基本用法
<script
async
src="https://cdn.soobro.com/sdk/v1/geo.js"
data-site="pk_live_xxxxxxxx"
data-locale="auto"
data-mode="fill"
></script>| 属性 | 默认 | 说明 |
|---|---|---|
data-site | 必填 | 站点公钥 |
data-locale | auto | auto 按 URL 策略识别语言;也可写死如 en |
data-mode | fill | fill 只补全缺失的 head 字段;replace 以平台规则为准覆盖 |
data-spa | true | 监听 pushState / popstate,路由变化时重新匹配规则 |
data-events | true | 上报 page_view 与 rule_match 事件(无 cookie,仅聚合统计) |
脚本体积小于 12 KB(gzip),async 加载,不阻塞渲染;首次 head 更新通常在 150 ms 内完成。
页面变量
规则模板里的变量({title}、{author} 等)可以由页面注册:
<script>
window.geo = window.geo || [];
window.geo.push(['set', { title: '智能家居选购指南', author: 'Acme 编辑部', cover: 'https://…/cover.jpg' }]);
</script>也可以通过 meta 标签声明,SDK 会自动读取:
<meta name="geo:title" content="智能家居选购指南" />
<meta name="geo:author" content="Acme 编辑部" />事件
window.geo.push(['on', 'ready', (config) => console.log(config.rule?.id)]);
window.geo.push(['on', 'rulematch', ({ rule, path }) => {}]);
window.geo.push(['on', 'error', (err) => {}]);降级行为
配置拉取失败(网络、站点暂停、公钥错误)时 SDK 不改动现有 head,并触发 error 事件;站点仍按原样渲染。