h5单页面埋点问题(undefine)

需求:商城页面里调用第三方资源埋点

代码实现(主要解决资源未加载就被调用问题)

备注:把调用函数作为参数传进去  控制保证在资源加载完成后调用;

let  COLLECTURL = http://collect.trc.com/index.js;

//动态创建js加载
function loadScript(url,callback,userId){
    let w = document.getElementsByClassName("collect-name")[0]; //
    if(w!=undefined){ //有collect资源
        if (w.readyState){ //IE
            w.onreadystatechange = function(){
                if (w.readyState == "loaded" || script.readyState == "complete"){
                    w.onreadystatechange = null;
                    callback(userId);
                }
            };
        } else { //Others
            w.onload = function(){
                callback(userId);
            };
        }

   }else{ //没有collect资源
        let script = document.createElement ("script");
        script.type = "text/javascript";
        script.className = "collect-name";
        script.src = url;
        document.getElementsByTagName("head")[0].appendChild(script);
        if (script.readyState){ //IE
            script.onreadystatechange = function(){
                if (script.readyState == "loaded" || script.readyState == "complete"){
                    script.onreadystatechange = null;
                    callback(userId);
                }
            };
        } else { //Others
            script.onload = function(){
                callback(userId);
            };
        }
   }


}
//回调函数
function sdkUse(UserId) {
    sdk.storeUserId(UserId)
};

代码调用(因为需要需要 在登录接口)

loadScript(COLLECTURL,sdkUse,data.body.userId);

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值