设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 8335|回复: 14
打印 上一主题 下一主题

关于anychatsdk兼容不同浏览器的问题

[复制链接]

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
跳转到指定楼层
楼主
发表于 2013-11-14 12:36:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
进入房间函数BRAC_EnterRoom可以调用,但不能触发回调函数OnAnyChatEnterRoom,只有IE可以,火狐,chrome都不可以……
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
沙发
发表于 2013-11-14 12:46:01 | 只看该作者
您好。可以将web端的日志发生来看下,日志为插件的安装位置,默认是C:\Program Files\BaiRuiTech\AnyChatWeb
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
板凳
发表于 2013-11-14 12:46:38 | 只看该作者
廖斌 发表于 2013-11-14 12:46
您好。可以将web端的日志发生来看下,日志为插件的安装位置,默认是C:\Program Files\BaiRuiTech\AnyChatWe ...

我们是做过兼容性测试的哦,火狐,IE,chome,360都测试过
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
地板
 楼主| 发表于 2013-11-26 18:13:32 | 只看该作者
前几天不知道动到哪了,突然就好了,今天又遇到这个问题,ie可以,火狐js是这个错:
Error:Error calling method on NPObject!    anychatsdk.js.297
我是web端,通过服务器端传给我数据时,触发我本地的函数
function OnAnyChatTransBuffer(dwUserId, lpBuf, dwLen)
{
        errorcode = BRAC_EnterRoom(room_id, "", 0); //进入房间
        //调用这个方法的时候,出现上面的错误,求解!
}

日志是:
[2013-11-26 18:10:55(493)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2013-11-26 18:10:55(494)]        Load BRAnyChatCore.dll success!(V4.8 Build Time:Sep 11 2013 20:23:39)
[2013-11-26 18:10:55(503)]        Load BRMiscUtil.dll success!(V4.8 Build Time:Sep 11 2013 20:21:54)
[2013-11-26 18:10:55(541)]        Load BRMediaUtil.dll success!(V4.8 Build Time:Sep 11 2013 20:21:40)
[2013-11-26 18:10:55(542)]        Load BRMediaShow.dll success!(V4.8 Build Time:Sep 11 2013 20:22:00)
[2013-11-26 18:10:55(543)]        Load BRMediaCore.dll success!(V4.8 Build Time:Sep 11 2013 20:22:16)
[2013-11-26 18:10:55(652)]        Invoke        BRAC_Connect(192.168.7.95,8906)=0
[2013-11-26 18:10:55(662)]        CheckClientSocketLink         Connect(ip=192.168.7.95,port=8906)
[2013-11-26 18:10:55(714)]        Server version: V4.8(Build Time:2013-09-09 20:29:37, Server OS:Linux)
[2013-11-26 18:10:55(717)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2013-11-26 18:11:00(197)]        Invoke        BRAC_Connect(192.168.7.95,8906)=0
[2013-11-26 18:11:00(210)]        Invoke        LoginServer(username=seat01)
[2013-11-26 18:11:00(251)]        Message        OnLoginSystem(userid=101,errorcode=0,username=?, msg deliver worked(1)
[2013-11-26 18:11:00(258)]        Connection to streaming media server successfully!(udp delay:7ms)



回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
5#
发表于 2013-11-26 18:20:45 | 只看该作者
您好,请尝试如下解决方案:
  1. function OnAnyChatTransBuffer(dwUserId, lpBuf, dwLen) {
  2.         setTimeout(function(){ BRAC_EnterRoom(room_id, "", 0); },100);   //进入房间
  3. }
复制代码
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
6#
 楼主| 发表于 2013-11-26 18:31:41 | 只看该作者
本帖最后由 cg0071 于 2013-11-26 18:48 编辑

您好,火狐还有那个js错误,而且
errorcode = BRAC_EnterRoom(room_id, "", 0); //进入房间
返回的errorcode = undefined,而且还是进不去房间
ie返回的errorcode也是undefined,但是可以进去房间

我在自己本地的js代码中直接调用
function OnAnyChatTransBuffer(dwUserId, lpBuf, dwLen)
{
      errorcode = BRAC_EnterRoom(room_id, "", 0);
}
这个时候各个浏览器都木有问题,

通过服务器来触发我本地的function OnAnyChatTransBuffer(dwUserId, lpBuf, dwLen) 函数时就出现上面火狐遇到的问题
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
7#
发表于 2013-11-26 18:54:06 | 只看该作者
您好,请问有尝试上面的:setTimeout的方式来调用BRAC_EnterRoom吗?
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
8#
 楼主| 发表于 2013-11-26 21:48:52 | 只看该作者
admin 发表于 2013-11-26 18:54
您好,请问有尝试上面的:setTimeout的方式来调用BRAC_EnterRoom吗?

对,我就是按照你说的setTimeout后,才出现的errorcode = undefined  (第六楼)
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
9#
发表于 2013-11-26 22:34:21 | 只看该作者
您好,设置setTimeout之后,Chrome可以了吗?
ie返回的errorcode也是undefined,但是可以进去房间
这个不合理喔,既然能进房间,就说明调用API成功了,理论上说应该不会返回undefined?
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
10#
 楼主| 发表于 2013-11-27 09:30:19 | 只看该作者
本帖最后由 cg0071 于 2013-11-27 09:40 编辑

这么晚谢谢您的回答!
我再把问题描述一遍吧:
我是web端
1.我进入大厅后,自己在js写一个setTimeout,五秒后触发进入房间函数errorcode = BRAC_EnterRoom(room_id, "", 0);这个时候可以进入房间,各个浏览器都可以
2.我进入大厅后,服务器端返回给我消息后,触发我本地的函数function OnAnyChatTransBuffer(dwUserId, lpBuf, dwLen)
{
      errorcode = BRAC_EnterRoom(room_id, "", 0);//进入房间
}
这个时候,ie是可以进去房间,
但是火狐和chrome的js报错进不去房间,错误如下:
Uncaught Error: Error calling method on NPObject. anychatsdk.js:297
3.上边您说在OnAnyChatTransBuffer函数里加上setTimeout,100,如下:
function OnAnyChatTransBuffer(dwUserId, lpBuf, dwLen)
{
      setTimeout(function(){          errorcode = BRAC_EnterRoom(room_id, "", 0); //进入房间
      }, 100);
}
这个时候依然是步骤2的错误

对了问一下,这个和seatIndex.jsp的声明类型有关系吗?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 19:58 , Processed in 0.131378 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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