利用js监控页面错误信息

起因

最近新上线的H5游戏,相同的广告源带来的用户,内外链的安装创角数据差异非常大,考虑到内链是镶嵌在第三方平台上,可能会导致部分js或者其他加载错误,从而导致用户无法正常进入到创角页面。这就需要收集用户在当前页面的执行情况和用户的操作系统环境等信息,来为运营提供数据参考。

收集信息

  • IP信息,用于收集用户所在地区,网络的情况
  • 访问时间,用于判断这种差异的时间段,是部分时间段还是全时段
  • 浏览器版本信息
  • 设备分辨率
  • 页面的来源,追踪用户的来源,作为是否有作弊嫌疑的参考
  • 用户的账号信息
  • JS代码报错的信息

收集主要函数

window.onerror

代码块

    window.onerror=repor;
    function report(msg,url,line,col,error)
    {
            var report_sent_url ="https://xxx.xxx.com/report"
            msg+="[url:"+url+"][line:"+line+"]";
            if(error&&error.stack)
            {
                msg+="[stack:"+error.stack.toString()+"]";
            }
            msg=encodeURIComponent(msg);
            var js, fjs = document.getElementsByTagName("script")[0];
            js = document.createElement("script");
            js.src = report_sent_url+"?msg="+msg;
            fjs.parentNode.insertBefore(js, fjs);           
       
    }
    
点赞