办公室名称控制 PresenceEnabled 总是为 false

3
我有一个 WPF 应用程序,带有 WebBrowser 控件,它从本地磁盘加载 HTML 文件。在 HTML 文件中,我有 JavaScript 代码来创建一个 Office Lync 联系人 ActiveX 控件(Name.NameCtrl.1)对象,该对象用于显示某些用户的联系卡片。
该对象已经被创建,但是 Name Control 的 PresenceEnabled 属性始终为 false。有什么办法可以解决这个问题吗?
我的计算机上安装了 Lync 2013。当我使用 Lync 2010 时,相同的代码运行良好。
我的浏览器是 IE 9,我也在 IE 8 和 IE 10 上观察到了同样的问题(目前只针对 IE)。
JavaScript 代码:
try {
    var presenceObj = new window.ActiveXObject("Name.NameCtrl.1");
} catch (err) { }

function showLync(element) {
    try {
        // Works fine till this part. However, presenceObj.PresenceEnabled is false.
        presenceObj.ShowOOUI("somecalculatedalias", 0, $(element).offset().left, $(element).offset().top);
    } catch (err) {
        // goes into the catch block above with a "Permission denied" error (-2146828218)
    }
}

更多细节:我已经在我的HTML页面中添加了MOTW(网站的标记),以确保它不显示警告,并且我可以看到该页面在正确的区域加载。从页面属性中可以看到:本地 Intranet | 受保护模式:关闭
当我删除这个MOTW时,预期会出现警告,提示“为了保护您的安全性,您的Web浏览器限制了此文件...(嘟嘟声)”。当我允许被阻止的内容时,上述相同的代码就能正常工作,我可以看到通过ShowOOUI调用的Lync弹出窗口。
2个回答

0

0

PresenceEnabled 属性在控件用于不在内部网络或受信任站点上的页面时为 false,或者如果未运行支持的即时通讯程序(如 Windows Live Messenger/Skype for Business)的受支持版本,则为 false


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接