2013-01-22 22 views
3

我有一个WPF应用程序与WebBrowser控件,该控件从本地磁盘加载HTML文件。在HTML文件中,我使用JavaScript代码创建Office Lync Presence ActiveX控件(Name.NameCtrl.1)对象,该对象用于显示某些用户的联系人卡片。办公室名称控制PresenceEnabled始终为假

该对象被创建,但名称控件的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(Web标记)到我的HTML网页,以确保它显示没有警告,我可以看到该页面确实加载了正确的区域。来自页面属性:Local intranet | Protected Mode: Off

当我删除这个MOTW时,我收到了一条预期的警告,说:“为了保护您的安全,您的网络浏览器限制了这个文件......(等等等等)”。当我允许阻止的内容时,上面的相同代码工作正常,我可以看到来自ShowOOUI调用的Lync弹出窗口。

回答