2010-11-09 57 views
5

我想将MS Office通信器状态指示器添加到我的Java应用程序(jsp)中。将MS Office通信器状态指示器添加到JSP中

+1

如果您对以下答案感到满意,是否可以将其标记为已接受,以帮助其他人浏览这些问题?干杯! – 2011-04-21 08:22:15

回答

7

如果你的目标是Windows平台,最简单的方法是做所有的客户端。 只要客户端运行IE,Office 2003或更高版本以及Communicator 2007或更高版本,就可以使用随Office分发的ActiveX对象NameCtrl

下面的代码应该让你开始:

<script> 

var sipUri = "[email protected]"; 

var nameCtrl = new ActiveXObject('Name.NameCtrl.1'); 
if (nameCtrl.PresenceEnabled) 
{ 
    nameCtrl.OnStatusChange = onStatusChange; 
    nameCtrl.GetStatus(sipUri, "1"); 
} 


function onStatusChange(name, status, id) 
{ 
    // This function is fired when the contacts presence status changes. 
    // In a real world solution, you would want to update an image to reflect the users presence 
    alert(name + ", " + status + ", " + id); 
} 

function ShowOOUI() 
{ 
    nameCtrl.ShowOOUI(sipUri, 0, 15, 15); 
} 

function HideOOUI() 
{ 
    nameCtrl.HideOOUI(); 
} 

</script> 

<span onmouseover="ShowOOUI()" onmouseout="HideOOUI()" style="border-style:solid">Your Contact</span> 

对于现实世界的解决方案,你只需要实现的是,根据被返回的存在状态变化(图像即存在泡沫与每个用户名称一起显示)以及图像集合,以确保您可以将传入状态更改映射到相关图像。