function isInstalledActiveX(mode)
{
var isInstall = false;
try {
var obj = new ActiveXObject(mode);
if(obj) isInstall = true;
else isInstall = false;
} catch(e) {
isInstall = false;
}
return isInstall;
}
위의 소스로 ActiveX 설치 여부를 검사하게 되면 ActiveX 의 버전이 업데이트 되었을 경우 컴퓨터를 재부팅하라고 나온다.
위의 소스로 검사하지 말고, MS제공하는 Type Libray 라는 프로그램이 있는데 위의 프로그램을 설치하고 ActiveX 의 내용을 보면 ActiveX에서 제공되는 method, property 를 확인할 수 있다.
그 안에서 method 검사하면 안되고 property로 설치 여부를 판단하고, property가 undefined 나올 수도 있기 때문에 확실하게 검사해야한다.
function isInstalledFileUpDownActiveX(objName)
{
var obj = document.getElementById(objName);
if (obj) {
// FileUpDown
if (obj.files) return true;
// FileSelection
else if (obj.titleText!='[undefined]') return true;
}
return false;
}
위의 소스가 property로 검사하고 undefined 일 경우도 검사한 경우인데. 모든 ActiveX에 대해 테스트해보진 않았으나 왠만한 것들은 검사 할 수 있을거라 본다.
Posted by Arone
