|
在某些情况下jqueryui库会导致AnyChat插件失效,主要表现为插件被主动销毁,日志记录:Invoke BRAC_Release;
解决方案:先初始化(BRAC_InitSDK),然后再初始化jqueryui界面元素。
根据标准示例代码详细描述:
在标准示例代码中,index.html在加载时会调用“LogicInit”方法:- <body style=" background-color: #C4CEDD; font-family:微软雅黑; margin:0 auto;">
复制代码 “LogicInit”方法定义在javascript/logicfunc.js中:- 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";
- }
- ……
- }
复制代码 如果没有将jqueryui界面元素的初始化放在“setTimeout(function () {});”便会出现前面所说的插件失效的问题。
|
|