NameCtrl在客户端计算机上从Communicator运行实例(或Lync,如果使用的话)获取其大部分数据。没有数据直接从SharePoint中撤回。有NameCtrl在网页上正常工作,你需要确保:
- 通讯(或Lync)在客户机上运行,并在
- 您呼叫NameCtrl从在该网页签订在浏览器中
内联网或可信站点区域的推荐模式是调用任何其他方法之前调用PresenceEnabled的NameCtrl对象 - 如果它返回false,那么上述prereqs的一个(或两个)是假的。下面的代码通常也适用于我
<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>
如果您还没有看到它,有一个很好的(ISH)NameCtrl参考here
-1,因为数据是从的Lync/Communicator的拉回,而不是SharePoint。 NameCtrl iself负责缓存所有的数据,不应该有任何需要缓存任何东西 – 2011-02-19 08:24:46