|  | 
 
| 在某些情况下jqueryui库会导致AnyChat插件失效,主要表现为插件被主动销毁,日志记录:Invoke  BRAC_Release; 
 解决方案:先初始化(BRAC_InitSDK),然后再初始化jqueryui界面元素。
 
 根据标准示例代码详细描述:
 在标准示例代码中,index.html在加载时会调用“LogicInit”方法:
 “LogicInit”方法定义在javascript/logicfunc.js中:复制代码<body style=" background-color: #C4CEDD; font-family:微软雅黑; margin:0 auto;">
如果没有将jqueryui界面元素的初始化放在“setTimeout(function () {});”便会出现前面所说的插件失效的问题。复制代码function LogicInit() {
    setTimeout(function () {
        //检查是否安装了插件        
        var NEED_ANYCHAT_APILEVEL = "0";                                         // 定义业务层需要的AnyChat API Level
        var errorcode = BRAC_InitSDK(NEED_ANYCHAT_APILEVEL);         //初始化插件
        AddLog("BRAC_InitSDK(" + NEED_ANYCHAT_APILEVEL + ")=" + errorcode, LOG_TYPE_API);
        if (errorcode == GV_ERR_SUCCESS) {
            ShowLoginDiv(true);
            AddLog("AnyChat Plugin Version:" + BRAC_GetVersion(0), LOG_TYPE_NORMAL);
            AddLog("AnyChat SDK Version:" + BRAC_GetVersion(1), LOG_TYPE_NORMAL);
            AddLog("Build Time:" + BRAC_GetSDKOptionString(BRAC_SO_CORESDK_BUILDTIME), LOG_TYPE_NORMAL);
        } else {                                                 // 没有安装插件,或是插件版本太旧,显示插件下载界面
            GetID("prompt_div").style.display = "block";
            SetDivTop("prompt_div", 300);
            if (errorcode == GV_ERR_PLUGINNOINSTALL)
                GetID("prompt_div_line1").innerHTML = "首次进入需要安装插件,请点击下载按钮进行安装!";
            else if (errorcode == GV_ERR_PLUGINOLDVERSION)
                GetID("prompt_div_line1").innerHTML = "检测到当前插件的版本过低,请下载安装最新版本!";
        }
        // 初始化jqueryui界面元素
        $( "#dialog-form" ).dialog({
            ……
        });
    }, 500);
    //设置按钮
    GetID("setting").onclick = function () {
        if (GetID("setting_div").style.display == "block")
            GetID("setting_div").style.display = "none";
        else
            GetID("setting_div").style.display = "block";
    }
    ……
}
 | 
 |