우리는 우리 응용 프로그램에서 NameCtrl을 사용하고 IE에서 잘 작동합니다. 하지만 파이어 폭스에서는 작동하지 않습니다. 파이어 폭스 웹 사이트는 ActiveX 컨트롤을 지원하지 않는다고 말합니다. http://support.mozilla.com/en-US/kb/ActiveXFirefox : Communicator 존재 문제
파이어 폭스에서도 커뮤니케이터 존재를 표시 할 수있는 방법이 있습니까?
우리는 우리 응용 프로그램에서 NameCtrl을 사용하고 IE에서 잘 작동합니다. 하지만 파이어 폭스에서는 작동하지 않습니다. 파이어 폭스 웹 사이트는 ActiveX 컨트롤을 지원하지 않는다고 말합니다. http://support.mozilla.com/en-US/kb/ActiveXFirefox : Communicator 존재 문제
파이어 폭스에서도 커뮤니케이터 존재를 표시 할 수있는 방법이 있습니까?
NameCrl은 ActiveX 구성 요소이므로 Internet Explorer에서만 작동합니다.
맞춤 개발 없이는 이렇게 할 방법이 없습니다. 존재를 쿼리하는 서비스를 작성하고이 서비스를 호출하는 JavaScript API를 빌드하는 것이 UCMA APis를 사용하는 것이 좋습니다.
조금 늦었지만 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
}
이것은 나를 위해 작동하지 않습니다 : http://stackoverflow.com/questions/30034488/firefox-skips-past-some-lines-of-javascript – Zarepheth
"if (nameCtrl && nameCtrl.PresenceEnabled) {" @Andrew McGivery 함수 –
올바르지 않습니다. 내 대답을 참조하십시오. –