我正在尝试使用ActiveX控件将Lync 2010联系人卡集成到业务线(LOB)应用程序中,如here所述,但我似乎在10台测试PC之间出现了不一致的行为 .
我有10台测试机器中的7台在悬停员工ID时成功显示完整的Lync联系卡,如:
但是,其他3台PC只显示部分接触卡(方框中的圆点,没有存在指示) . 在扩展部分卡时,我得到以下内容,看起来好像Lync无法在7台PC中的3台上正确解析用户 .
代码在.net浏览器控件中运行(因此仅针对IE),我已将其抽象为以下测试代码,该代码成功地在独立运行的Internet Explorer中重现问题 - 希望浏览器控制出等式 .
Things I have already tried:
-
确保lync正在运行,我得到部分卡的事实似乎意味着ActiveX控件正在PC上检测Lyncs的存在 .
-
使用IE调试状态检查,'if(Lync.nameCtl.PresenceEnabled)'始终返回true(仅当Lync未运行时才会出现错误) .
-
确定问题不是用户特定的,而是PC特定的,例如用户可以登录到另一台PC并且功能正常,同样另一个用户可以登录到不工作的电脑而且它们也不起作用 . 因此,问题似乎与漫游配置文件等无关 .
-
有一台没有工作的PC恢复了新的企业形象 .
-
Lync服务器,Lync服务器位于群集中,但在检查系统托盘中的Lync配置信息时,正在运行的PC正在连接到与非某些PC相同的终端服务器 .
-
经过检查的软件版本 - 所有PC似乎都有相同的软件版本:
带有SP1的Windows 7企业版(所有PC之间的差异很小,但没有看起来相关的KB . 在工作的PC和那些我不知道的PC之间也没有模式) .
Internet Explorer版本9.0.8112.16421是的,我知道,但这是我正在使用的:-)
Lync 2010版本:4.0.7577.4356
Code (在某些地方匿名)
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE"/>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<div id="822">822</div>
<div id="624">624</div>
<div id="620">620</div>
<div id="23A">23A</div>
<div id="B47">B47</div>
<div id="084">084</div>
<script>
$(document).ready(function () {
$("div").on({
mouseenter: function () {
Lync.showOOUI(this.id, event)
}, mouseleave: function () {
Lync.hideOOUI()
}
});
});
var Lync = {
sipUri: "",
// Load up the NAME.dll functionality
nameCtl: new ActiveXObject('Name.NameCtrl.1'),
// Watch status changes
onStatusChange: function (name, status, id) {
},
// Shows the Lync widget UI
showOOUI: function (id, event) {
Lync.sipUri = id + "@MyDomain.com";
// Only show Lync presence if enabled
if (Lync.nameCtl.PresenceEnabled) {
Lync.nameCtl.OnStatusChange = Lync.onStatusChange;
Lync.nameCtl.GetStatus(Lync.sipUri, "0");
Lync.nameCtl.ShowOOUI(Lync.sipUri, 0, event.clientX, event.clientY);
}
},
// Hides the Lync widget UI
hideOOUI: function () {
Lync.nameCtl.HideOOUI();
},
// Opens the full Lync widget menu
openInfoPane: function () {
Lync.nameCtl.DoAccelerator();
}
};
</script>
</body>
</html>