对我司自研的前端监控系统的前端SDK进行总结
navigator
使用 window.navigator 可以收集到用户的设备信息,操作系统,浏览器信息...
PV
History 利用了 HTML5 History Interface 中新增的 pushState() 和 replaceState() 方法进行路由切换,是目前主流的无刷新切换路由方式。与 hashchange 只能改变 # 后面的代码片段相比,History API (pushState、replaceState) 给了前端完全的自由。
PopState 是浏览器返回事件的回调,但是更新路由的 pushState、replaceState 并没有回调事件,因此,还需要分别在 history.pushState() 和 history.replaceState() 方法里处理 URL 的变化。在这里,我们运用到了一种类似 Java 的 AOP 编程思想,对 pushState 和 replaceState 进行改造。
private _initRouterEach () {
const _oldSend = window.history.replaceState
window.history.replaceState = function () {
const e = new Event('replaceSt