OBJECT 태그를 이용합니다.
codebase 속성에 ActiveX가 설치되지 않았을때 패키지를 다운받을 주소를,
classid 에 GUID 식별자를 넣습니다.
아래의 예시 코드는 오브젝트가 설치 되었다면 실행을, 설치가 되지 않았다면 설치할 수 있는 창이 뜨게 되는데, "아니오"버튼을 누르게되면 경고메시지를 보여줍니다.
(예시 코드는 사이트지기가 근무하는 곳에서 구현했던 오브젝트의 부분을 인용하였습니다)
<script language=javascript>
<!--
function activex_error(){
alert("Object 사용을 위한 ActiveX 설치가 되지 않았습니다");
}
-->
</script>
<object id= 'WebWaltz' width='0' height='0' classid='clsid:8299566F-5C54-472F-926A-9EE6DD489102'
codebase='http://URL경로/파일명.cab#version=1,0,1,65' onError='JavaScrpt:activex_error()'>
<param name='_Version' value='65536'>
<param name='_ExtentX' value='2646'>
<param name='_ExtentY' value='1323'>
<param name='_StockProps' value='0'>
<param name='wmode' value='transparent'>
<param name='domain_name' value='naravision.net'>
<param name='domain_list' value='naravision.net'>
<param name='ServerIp' value='58.225.75.5:12000'>
<param name='companycode' value='사용안함'/>
<param name='link_type' value='2'>
<param name='skintype' value='0'>
<PARAM NAME='linkevent' VALUE ='0'>
<PARAM NAME='skinhttp' VALUE ='http://waltz.imtong.com/demo/'>
</object>
상기와 같이 구현하게 되면 Object 를 실행할때 설치여부에 따라 activex_error() 펑션을 호출하게 됩니다
※ 2006년 2월 IE 패치로 인하여 Object 가 즉시 실행되지 않는 문제역시 단순한 방법으로 해결이 가능합니다. 위의 코드는 예를 들기 위한 것으로 즉시 실행처리를 하지 않은 것이며, 즉시 실행되게 하기 위해서는 해결 해주어야 합니다.
또 다른 방법으로는...
function checkActiveX(){
try{
var obj = new Activeobject("TEST.OCX");
if(obj) Installed = true;
else Installed = false;
}catch(ex){
Installed = false;
}
if(Installed == true) alert("ActiveX Control이 설치되었습니다");
else alert("ActiveX Control이 설치되지 않았습니다");
}
와 같은 펑션을 사용하여 오브젝트를 확인 해 보는 것도 방법이 되겠습니다
'개발자愛 > JAVA' 카테고리의 다른 글
IT맨, 내가 사직서를 쓴 이유 (2) | 2007.06.15 |
---|---|
[GNU]AIX gcc 설치 (0) | 2007.06.07 |
리눅스 시스템 시간 설정하기 (0) | 2007.05.16 |
리눅스 서비스(데몬)의 종류와 관리 (0) | 2007.05.09 |
... 지금은 IDC... (0) | 2007.02.26 |