AnyChat技术支持论坛

标题: 关于anychat核心js整合后出现的问题 [打印本页]

作者: 枫之殇    时间: 2017-2-9 09: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[name] = proc;
    }
}ie运行这个BRAC_AttachIE11Event(obj, name, proc)方法 这些注册的事件在登录成功后,就会报个别方法未定义(如:SCRIPT5009: “OnAnyChatNotifyMessage”未定义),请求anychat工程师大牛们能帮忙协助解决下么


作者: 佰锐科技-梁国桦    时间: 2017-2-9 09:49
您好,OnAnyChatNotifyMessage是定义在anychatevent.js里的。
作者: 枫之殇    时间: 2017-2-9 10:56
佰锐科技-梁国桦 发表于 2017-2-9 09:49
您好,OnAnyChatNotifyMessage是定义在anychatevent.js里的。

这个方法 已经是放到整合的js里面了,整合的js里面都包含了原有核心js里面该有的方法,只是在整合后在IE浏览器上跑的时候 就报这个 但是在火狐上是运行正常的 能正常视频见证
作者: 枫之殇    时间: 2017-2-9 11:28
佰锐科技-梁国桦 发表于 2017-2-9 09:49
您好,OnAnyChatNotifyMessage是定义在anychatevent.js里的。

把初始化需要注册的方法 在整合的js里面设置成了一个全局方法后,方法未定的这个错不报了 但是连接系统、登录服务器后,在服务器端已经有响应了而js里面的方法却没有触发
作者: 佰锐科技-梁国桦    时间: 2017-2-9 14:06
枫之殇 发表于 2017-2-9 11:28
把初始化需要注册的方法 在整合的js里面设置成了一个全局方法后,方法未定的这个错不报了 但是连接系统、 ...

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

指的是回调没有触发吗??另外您确认火狐浏览器走的是插件模式而不是H5模式?
作者: 枫之殇    时间: 2017-2-9 14:52
不是H5模式的 我在整合的js里面将H5的代码给注释了
作者: 枫之殇    时间: 2017-2-9 15:09
佰锐科技-梁国桦 发表于 2017-2-9 14:06
但是连接系统、登录服务器后,在服务器端已经有响应了而js里面的方法却没有触发

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

问题已经解决了 将初始化注册的那些方法名 在整合的js里面 设置为全局 就可以了 谢谢




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3