想用msagent 實現即時通訊 但是用javascript操作msagent的時候必須不斷刷新頁面,這肯定是不能忍受的,想到了流行的ajax技術,用dwr實現定時刷新 ,
1。在頁面里面加入
<script src='<%= request.getContextPath() %>/dwr/interface/ListWorkflowTaskAJAXProcess.js'></script>
<script src='<%= request.getContextPath() %>/dwr/engine.js'></script>
<script src='<%= request.getContextPath() %>/dwr/util.js'></script>
2。然后用
function InitList(){
? var frm = document.listWorkflowProgressForm;
? callAjax(frm.curStartRowNo.value,frm.sortAttribute.value,frm.sortOrder.value, retriveList);
? ? setTimeout("InitList()",<%=m_refreshInterval%>);
}
3。function callAjax(curStartRowNo, sortAttribute, sortOrder, retriveList){
? var frm = document.listWorkflowProgressForm;
? frm.curStartRowNo.value=curStartRowNo;
? frm.sortAttribute.value=sortAttribute;
? frm.sortOrder.value=sortOrder;
? ListWorkflowTaskAJAXProcess.getWorkflowTaskList(curStartRowNo, sortAttribute, sortOrder, frm.filterStepID.value, retriveList);//在javascript里面就可以調用java class了
}
4.msagent 參考代碼
<script>
var chName;
var agent;
var Merlin;
chName = "Merlin";
agent = new ActiveXObject("Agent.Control.2");
agent.Connected = true; agent.Characters.Load(chName,chName+".acs");
Merlin = agent.Characters(chName); Merlin.MoveTo(200,200); Merlin.Show();
Merlin.Play("Announce");
Merlin.Speak("歡迎來到detrox的個人主頁");
Merlin.Play("Explain");
Merlin.Speak("咳,這里收錄了detrox和他朋友的文章。希望您能喜歡。");
Merlin.Play("Idle1_1");
Merlin.Play("Pleased");
Merlin.Speak("請進吧,我的客人");
Merlin.MoveTo(600,300);
Merlin.Play("Surprised");
Merlin.Speak("哦對了,大家最近小心非典。多多注意哦");
Merlin.Play("Idle1_2");
Merlin.Play("GestureUp");
Merlin.Speak("祝您在這里愉快");
Merlin.Play("Read");
Merlin.Hide();
</script>
posted on 2006-09-03 12:15
還沒想好名 閱讀(512)
評論(0) 編輯 收藏