[轉載]一步一步打造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對象。