我们公司的项目会上报longTask超过300的埋点记录用来记录页面卡顿的情况
但是 上报的时候 url 经常是 #/pc/Fkladjsfkla/Dljfadsfjla/detail/1000000000000001
这里的活动id会变,但是固定是 16位数字
上报时默认是 window.location.hash会带着 活动id,这样就不能看到活动详情页 到底有多少个数量(上报系统拉胯)
这里我通过正则替换的方式,把活动Id替换成 固定的字符串
const urlWithActId = /[0-9]{16}$/;
let reportUrl = window.location.hash;
if (urlWithActId.test(reportUrl)) {
// 如果url中包含activityId, 替换成固定字符串,方便后续聚合查看数据
reportUrl = reportUrl.replace(urlWithActId, ':id');
}
这样处理后的 reportUrl 就是 不带具体活动id的url了
大功告成