将 MS Office Communicator 状态指示器添加到 JSP 中

发布于 2024-10-01 10:57:34 字数 63 浏览 11 评论 0原文

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

I want to add MS Office communicator presence indicator into my Java Application(jsp).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱情眠于流年 2024-10-08 10:57:34

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

以下代码应该可以帮助您入门:

<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>

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

If you're targeting the windows platform, the simplest way is to do everything client-side.
As long as the clients are running IE, Office 2003 or above, and Communicator 2007 or above, you can use the NameCtrl ActiveX object that gets distributed with Office.

The following code should get you started:

<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>

For a real world solution, you'd just need to implement an image that changes depending on the presence state that gets returned (i.e. a presence bubble to display alongside each users name), and a collection of sip uris to images, to ensure you can map an incoming status change to the relevant image.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文