我有一个带有WPF
控件的WebBrowser
应用,它从本地磁盘加载HTML文件。在HTML文件中,我有javascript代码来创建Office Lync Presence ActiveX控件(Name.NameCtrl.1
)对象,该对象用于显示某些用户的联系人卡片。
创建对象,但名称控件的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)
}
}
更多详情:
我已将MOTW(网络标记)添加到我的HTML页面,以确保它显示没有警告,我可以看到页面确实加载到正确的区域。来自页面属性:Local intranet | Protected Mode: Off
。
当我删除此MOTW时,我收到了预期的警告:“为了保护您的安全,您的网络浏览器限制了此文件......(等等)”。当我允许被阻止的内容时,上面相同的代码工作正常,我可以从ShowOOUI调用中看到Lync弹出窗口。
答案 0 :(得分:0)
答案 1 :(得分:0)
如果该控件用于不在Intranet或受信任站点上的页面上,或者如果受支持的即时消息传递程序版本(例如Windows Live),则PresenceEnabled
属性为false
Messenger / Skype for Business未运行。