IE에서 ActiveX 설치여부 확인하기(ActiveXObject를 이용하여)
언어/JavaScript 2012/10/25 16:51
정의
ActiveXObject 개체
(Internet Explorer 에서만 적용된다.)
사용
var axObj = new ActiveXObject(progid);
var axObj = new ActiveXObject(servername.typename[, location]);
와 같은 방법으로 사용한다.
인자로 주어지는 값은 레지스트리에서 확인가능하다.
일단 제공되는 CLSID는 알고 있을것이다.
만약 모른다면,
IE의 추가 기능 관리에서 확인할 수 있다.
그래도 모르겠다면 벤더에 문의하면 된다.
찾은 CLSID로 REGEDIT에서 검색하면 아래와 같이 나온다.
상위 폴더이름이 ActiveXObject의 인자로 주어지는 progid이다.
(HKEY_CLASSES_ROOT 하위의 CLSID에서 찾으면 progid의 값이 나온다.
CLSID 폴더에 없는 경우가 있으니, 이 때는 클래스아이디로 검색해서 나오는 폴더명을 참조한다.
폴더명 뒤의 .1 은 버전이니 생략해도 된다.)
예제
function check(name, progid){
var installed;
var msg;
try {
var axObj = new ActiveXObject(progid);
if(axObj){
installed = true;
} else {
installed = false;
}
} catch (e) {
installed = false;
}
if(installed) {
msg = '설치됨';
} else {
msg = name + ' 미설치';
}
return '<b>' + msg + '</b><br>';
}
document.write(check('Adobe PDF Link Helper','AcroIEHelperShim.AcroIEHelperShimObj'));
간단하게 IE의 개발자 도구에서 확인할 수 있다.