AnyChat技术支持论坛
标题:
关于jqueryui库导致AnyChat插件失效的解决方案
[打印本页]
作者:
admin
时间:
2014-1-7 15:53
标题:
关于jqueryui库导致AnyChat插件失效的解决方案
在某些情况下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 () {});”便会出现前面所说的插件失效的问题。
欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/)
Powered by Discuz! X3