设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
14#
 楼主| 发表于 2013-11-27 13:41:04 | 只看该作者
admin 发表于 2013-11-27 11:27
您好,刚才咨询了开发团队,目前已更新SDK包里面的插件,在firefox、chrome浏览器中可以支持字符串类型的ro ...

非常感谢!
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
13#
发表于 2013-11-27 11:27:02 | 只看该作者
您好,刚才咨询了开发团队,目前已更新SDK包里面的插件,在firefox、chrome浏览器中可以支持字符串类型的roomid参数传入,请更新一下插件:http://www.anychat.cn/download.html?t=Web
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
12#
发表于 2013-11-27 11:02:18 | 只看该作者
房间编号竟然为字符串,IE上可以,火狐chrome就不行了,这种问题是我们使用的时候需要注意的还是你们后台需要处理的?

您好,是您的javascript脚本需要处理的,我们的AnyChat for Web SDK开发文档有明确的说明,您可以看一下API接口声明,有明确的说roomid是int型。
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
11#
 楼主| 发表于 2013-11-27 09:59:57 | 只看该作者
廖斌 发表于 2013-11-27 09:49
您好,  setTimeout(function(){          errorcode = BRAC_EnterRoom(parseInt(room_id), "", 0); // ...

偶的个神娜!!!可以了……
房间编号竟然为字符串,IE上可以,火狐chrome就不行了,这种问题是我们使用的时候需要注意的还是你们后台需要处理的?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
10#
发表于 2013-11-27 09:49:31 | 只看该作者
cg0071 发表于 2013-11-27 09:30
这么晚谢谢您的回答!
我再把问题描述一遍吧:
我是web端

您好,  setTimeout(function(){          errorcode = BRAC_EnterRoom(parseInt(room_id), "", 0); //进入房间
      }, 100);试试
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
9#
 楼主| 发表于 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">



回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

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

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
5#
 楼主| 发表于 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) 函数时就出现上面火狐遇到的问题
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 20:09 , Processed in 0.133885 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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