在我正在建设的内部网上,有一个即时消息的需求。客户端已经在使用Office Communicator应用程序,所以如果可能的话,我想使用它。
内部网将有一个员工目录,我希望有一个“呼叫”按钮旁边的每个员工将启动通信器应用程序。我不知道客户端是否有Communicator Web Access组件,我们可能根本无法安装它。我应该如何进行这种集成?
发布于 2011-07-27 23:57:25
应该不需要安装Web Access。你可以使用现有的NameCtrl persona菜单在客户端做任何事情-这是一个弹出式菜单,当鼠标悬停在用户的状态图标上时,它会显示在SharePoint (以及其他基于web的应用程序,如Dynamics CRM)中。此菜单允许您呼叫用户,开始新的对话等。您需要在运行的计算机上安装Office才能正常工作。
例如,在任何运行Office 2007/2010和IE的客户端计算机上尝试此功能。将鼠标悬停在"Your Contact“文本上可查看persona菜单(您的站点需要添加到受信任的站点或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-27 23:37:14
基于服务器的web应用程序不适合启动客户端可执行文件。使用ActiveX控件可能有一些变通的方法,但这在IE中必须显式启用。
发布于 2011-07-27 23:42:01
在此方案中,您可能必须使用Microsoft Office Communicator Server为需要扩展功能和协作工具的组织提供的UCM API (统一通信托管API)。有一组用于ASP.NET Web应用程序的工具,请查看:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23780,并提供了示例
https://stackoverflow.com/questions/6846999
复制相似问题