0

我们在我们的应用程序中使用 NameCtrl 并且在 IE 中运行良好。但同样的方法在 Firefox 中不起作用。firefox 网站说他们不支持 ActiveX 控件。http://support.mozilla.com/en-US/kb/ActiveX

有没有办法在 Firefox 中显示通信器的存在?

4

2 回答 2

1

有点晚了,但这可以使用 IE 以外的浏览器。

if(window.ActiveXObject) {
    nameCtrl = new ActiveXObject("Name.NameCtrl");
} else {
    try {
        nameCtrl = new ActiveXObject("Name.NameCtrl");
    } catch (e){
        nameCtrl = (function(b){
            var c = null;
            try {
                c = document.getElementById(b);
                if (!Boolean(c) && (Boolean(navigator.mimeTypes) && navigator.mimeTypes[b] && navigator.mimeTypes[b].enabledPlugin)) {
                    var a = document.createElement("object");
                    a.id = b;
                    a.type = b;
                    a.width = "0";
                    a.height = "0";
                    a.style.setProperty("visibility", "hidden", "");
                    document.body.appendChild(a);
                    c = document.getElementById(b)
                }
            } catch (d) {
                c = null
            }
            return c
        })("application/x-sharepoint-uc");
    }
}

if(nameCtrl && nameCtrl.PresenceEnabled){
// code here
}
于 2014-07-07T21:05:49.167 回答
0

NameCrl 是一个 ActiveX 组件,因此它只能在 Internet Explorer 中工作。

没有定制开发就没有办法做到这一点。我建议使用 UCMA API,构建一个查询存在的服务,并构建一个 JavaScript API 来调用该服务。

于 2010-03-03T22:06:02.230 回答