<script>
var sipUri = "your.contact@your.domain.com";
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>
# 1 楼答案
如果你的目标是windows平台,最简单的方法就是在客户端完成所有工作。 只要客户端运行IE、Office 2003或更高版本,以及Communicator 2007或更高版本,就可以使用随Office一起分发的NameCtrlActiveX对象
以下代码将帮助您开始:
对于现实世界的解决方案,您只需要实现一个根据返回的状态而变化的映像(即,在每个用户名旁边显示的状态气泡),以及一组sip URI到映像,以确保您可以将传入的状态变化映射到相关映像