枫之殇 发表于 2017-2-9 09:22:22

关于anychat核心js整合后出现的问题

由于项目需求,将anychat核心js整合成一个js,嵌入前端框架angularjs中,通过module.exports = angular.module('ASS.service.anyChatSDK', [])    .factory('anyChatSDK', ['$state','$rootScope','$localStorage','certificateService','$modal','myAlert','$window',
      function ($state,$rootScope,$localStorage,certificateService,$modal,myAlert,$window) {anychat核心js,(最新的核心js未做很大改动)}    return {
    anychat:anychat,
    BRAC_SetSDKOption:BRAC_SetSDKOption,
    BRAC_SO_CLOUD_APPGUID:BRAC_SO_CLOUD_APPGUID,
    LogicInit:LogicInit,
    BRAC_Connect:BRAC_Connect,
    BRAC_Login:BRAC_Login,
    BRAC_GetFriendStatus:BRAC_GetFriendStatus,
    BRAC_Logout:BRAC_Logout
}但是这样处理后,在火狐上运行的时候 是可以正常进行视频见证的,但是在ie上运行时,却报有些方法未定义,通过断点调试,个人觉得出现问题的地方应该是在:// 注册回调事件
function BRAC_RegisterCallBack(obj, name, proc) {
    if(typeof(proc) != "function"){
      return;
    }
    if(window.ActiveXObject || "ActiveXObject" in window) {
      if(window.ActiveXObject && obj.attachEvent) {
            obj.attachEvent(name, proc);
      } else {
            BRAC_AttachIE11Event(obj, name, proc);
      }

    } else {
      obj = proc;
    }
}ie运行这个BRAC_AttachIE11Event(obj, name, proc)方法 这些注册的事件在登录成功后,就会报个别方法未定义(如:SCRIPT5009: “OnAnyChatNotifyMessage”未定义),请求anychat工程师大牛们能帮忙协助解决下么

佰锐科技-梁国桦 发表于 2017-2-9 09:49:31

您好,OnAnyChatNotifyMessage是定义在anychatevent.js里的。

枫之殇 发表于 2017-2-9 10:56:14

佰锐科技-梁国桦 发表于 2017-2-9 09:49
您好,OnAnyChatNotifyMessage是定义在anychatevent.js里的。

这个方法 已经是放到整合的js里面了,整合的js里面都包含了原有核心js里面该有的方法,只是在整合后在IE浏览器上跑的时候 就报这个 但是在火狐上是运行正常的 能正常视频见证

枫之殇 发表于 2017-2-9 11:28:21

佰锐科技-梁国桦 发表于 2017-2-9 09:49
您好,OnAnyChatNotifyMessage是定义在anychatevent.js里的。

把初始化需要注册的方法 在整合的js里面设置成了一个全局方法后,方法未定的这个错不报了 但是连接系统、登录服务器后,在服务器端已经有响应了而js里面的方法却没有触发

佰锐科技-梁国桦 发表于 2017-2-9 14:06:08

枫之殇 发表于 2017-2-9 11:28
把初始化需要注册的方法 在整合的js里面设置成了一个全局方法后,方法未定的这个错不报了 但是连接系统、 ...

但是连接系统、登录服务器后,在服务器端已经有响应了而js里面的方法却没有触发

指的是回调没有触发吗??另外您确认火狐浏览器走的是插件模式而不是H5模式?

枫之殇 发表于 2017-2-9 14:52:19

不是H5模式的 我在整合的js里面将H5的代码给注释了

枫之殇 发表于 2017-2-9 15:09:49

佰锐科技-梁国桦 发表于 2017-2-9 14:06
但是连接系统、登录服务器后,在服务器端已经有响应了而js里面的方法却没有触发

指的是回调没有触发吗 ...

问题已经解决了 将初始化注册的那些方法名 在整合的js里面 设置为全局 就可以了 谢谢
页: [1]
查看完整版本: 关于anychat核心js整合后出现的问题