1

在我正在构建的 Intranet 上,需要有即时消息传递。客户端已经使用了 Office Communicator 应用程序,所以我想尽可能使用它。

Intranet 将有一个员工目录,我希望每个员工旁边都有一个“呼叫”按钮,它将启动 Communicator 应用程序。我不知道客户端是否有 Communicator Web Access 组件,我们可能根本无法安装它。我应该如何进行这种整合?

4

3 回答 3

3

应该不需要安装 Web Access。您可以使用现有的NameCtrl角色菜单在客户端执行所有操作- 这是在将鼠标悬停在用户状态图标上时显示在 SharePoint(和其他基于 Web 的应用程序,如 Dynamics CRM)中的弹出菜单。此菜单允许您呼叫用户、开始新对话等。您需要在正在运行的计算机上安装 Office 才能使其工作。

例如,在运行 Office 2007/2010 和 IE 的任何客户端计算机上尝试此操作。将鼠标悬停在“您的联系人”文本上以查看角色菜单(您的站点需要添加到受信任的站点或 Intranet 区域):

<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>
于 2011-07-27T15:57:25.430 回答
0

基于服务器的 Web 应用程序不适合启动客户端可执行文件。可能有一些使用 ActiveX 控件的方法,但这在 IE 本身中必须显式启用。

于 2011-07-27T15:37:14.400 回答
0

在这种情况下,您可能必须使用 Microsoft Office Communicator Server 为需要扩展功能和协作工具的组织提供的 UCM API(统一通信托管 API)。有一套用于 ASP.NET Web 应用程序的工具,请查看:http ://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23780并提供示例

于 2011-07-27T15:42:00.850 回答