设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4038|回复: 0

关于jqueryui库导致AnyChat插件失效的解决方案

[复制链接]

249

主题

2967

帖子

9074

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9074
发表于 2014-1-7 15:53:56 | 显示全部楼层 |阅读模式
在某些情况下jqueryui库会导致AnyChat插件失效,主要表现为插件被主动销毁,日志记录:Invoke  BRAC_Release;

解决方案:先初始化(BRAC_InitSDK),然后再初始化jqueryui界面元素。

根据标准示例代码详细描述:
在标准示例代码中,index.html在加载时会调用“LogicInit”方法:
  1. <body style=" background-color: #C4CEDD; font-family:微软雅黑; margin:0 auto;">
复制代码
“LogicInit”方法定义在javascript/logicfunc.js中:
  1. function LogicInit() {
  2.     setTimeout(function () {
  3.         //检查是否安装了插件        
  4.         var NEED_ANYCHAT_APILEVEL = "0";                                         // 定义业务层需要的AnyChat API Level
  5.         var errorcode = BRAC_InitSDK(NEED_ANYCHAT_APILEVEL);         //初始化插件
  6.         AddLog("BRAC_InitSDK(" + NEED_ANYCHAT_APILEVEL + ")=" + errorcode, LOG_TYPE_API);
  7.         if (errorcode == GV_ERR_SUCCESS) {
  8.             ShowLoginDiv(true);
  9.             AddLog("AnyChat Plugin Version:" + BRAC_GetVersion(0), LOG_TYPE_NORMAL);
  10.             AddLog("AnyChat SDK Version:" + BRAC_GetVersion(1), LOG_TYPE_NORMAL);
  11.             AddLog("Build Time:" + BRAC_GetSDKOptionString(BRAC_SO_CORESDK_BUILDTIME), LOG_TYPE_NORMAL);
  12.         } else {                                                 // 没有安装插件,或是插件版本太旧,显示插件下载界面
  13.             GetID("prompt_div").style.display = "block";
  14.             SetDivTop("prompt_div", 300);
  15.             if (errorcode == GV_ERR_PLUGINNOINSTALL)
  16.                 GetID("prompt_div_line1").innerHTML = "首次进入需要安装插件,请点击下载按钮进行安装!";
  17.             else if (errorcode == GV_ERR_PLUGINOLDVERSION)
  18.                 GetID("prompt_div_line1").innerHTML = "检测到当前插件的版本过低,请下载安装最新版本!";
  19.         }

  20.         // 初始化jqueryui界面元素
  21.         $( "#dialog-form" ).dialog({
  22.             ……
  23.         });
  24.     }, 500);
  25.     //设置按钮
  26.     GetID("setting").onclick = function () {
  27.         if (GetID("setting_div").style.display == "block")
  28.             GetID("setting_div").style.display = "none";
  29.         else
  30.             GetID("setting_div").style.display = "block";
  31.     }
  32.     ……
  33. }
复制代码
如果没有将jqueryui界面元素的初始化放在“setTimeout(function () {});”便会出现前面所说的插件失效的问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-4-19 22:04 , Processed in 0.112155 second(s), 27 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表