Firefox: проблема присутствия коммуникатора - PullRequest
0 голосов
/ 04 февраля 2010

Мы используем NameCtrl в нашем приложении и прекрасно работает в IE. Но то же самое не работает в Firefox. Сайт Firefox говорит, что они не поддерживают элементы управления ActiveX. http://support.mozilla.com/en-US/kb/ActiveX

Есть ли способ показать присутствие коммуникатора в Firefox?

Ответы [ 2 ]

1 голос
/ 08 июля 2014

Немного поздно, но это возможно при использовании браузеров, отличных от 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
}
0 голосов
/ 04 марта 2010

NameCrl является компонентом ActiveX, поэтому он будет работать только в Internet Explorer.

Нет способа сделать это без пользовательской разработки. Я бы предложил использовать UCMA APis, создать сервис, который запрашивает присутствие, и создать JavaScript API для вызова этого сервиса.

...