一步一步打造WebIM(5)——将WebIM嵌入到页面中

之前的文章中,已经开发了一个简单的WebIM,但是这个WebIM是在独立的页面中的,今天发布的WebIM是一个可以嵌入到自己网页中的版本,你只需添加少量的代码,就可以在页面中嵌入一个WebIM。不过目前这个WebIM的功能比较简单,如果大家有什么需求可以在评论中提出,或通过WebIM与我联系。以后可能还会将云翔在线软件平台中的网盘等在线应用集成进来。

下载源代码后,按以下步骤操作就可以将WebIM嵌入到网页中。

1.将Release中的Bin,App_Data和YunXiang三个文件夹拷贝到网站的根目录下。

2.在将要嵌入WebIM的页面中添加一下引用:

<link href="YunXiang/Themes/Default/skin.css" rel="stylesheet" type="text/css" />
<script src="YunXiang/json2.js" type="text/javascript"></script>
<script src="YunXiang/Config.js" type="text/javascript"></script>
<script src="YunXiang/Core.js" type="text/javascript"></script>

3.在Global.asax的Application_Start和Application_End中添加以下代码(如果没有Global.asax则拷贝Global.asax到网站根目录下)

void Application_Start(object sender, EventArgs e) 
{
    //在应用程序启动时运行的代码
    YunXiang.MessageManagement.Instance.Initialize(Context);
}

void Application_End(object sender, EventArgs e) 
{
    //在应用程序关闭时运行的代码
    YunXiang.MessageManagement.Instance.Dispose();
}
4.在web.config的httpHandlers节点中添加以下配置:
<httpHandlers>
    <add path="Lesktop.aspx" verb="*" type="YunXiang.Lesktop"/>
    <add path="recevie.aspx" verb="*" type="YunXiang.WebIM_ReceiveHandler"/>
    <add path="send.aspx" verb="*" type="YunXiang.WebIM_SendHandler"/>
</httpHandlers>

5.将WebIM嵌入到页面中以后,可以通过以下两种方式启动会话:

System.StartChat("用户名", "对方的用户名");
//不指定用户,启动时才输入
System.StartChat();

6.常见问题

(1) 嵌入WebIM会影响页面的启动速度吗?

由于嵌入WebIM必须引用Core.js文件,因此,嵌入WebIM后,需要多下载几个文件。但是,只要不启动会话,就不会加载和WebIM相关的脚本(Window.js,Controls.js,Desktop.js,WebIM.js等),只有第一次启动时才会加载。

(2) WebIM会插入DOM对象吗?

只要不启动会话,WebIM不会插入任何DOM对象。

 

posted @ 2010-05-27 22:38 卢春城 阅读(...) 评论(...) 编辑 收藏