본문 바로가기
Programming/JavaScript

[javascript] ActiveX 콜백 함수 동적 생성

by NAMP 2017. 3. 9.

[javascript] ActiveX 콜백 함수 동적 생성

Internet Explorer 에서는 script 태그를 사용하여 콜백 함수를 받는다.

<SCRIPT LANGUAGE="javascript" FOR="target_id" EVENT="callback_func(code)">
    // do something
    if(code == EXPECTED_RESULT)
    {
        // 처리 코드 
    }
</SCRIPT>

정적으로 생성된 ActiveX 대해서는 위의 방법으로 사용이 가능하다.

동적으로 생성된 ActiveX 객체에 대해서 처리해주는 script 요소를 동적으로 생성해 주어야 한다.

var handler = document.createElement("script");
    handler.setAttribute("for", "target_id");
    handler.event = "callback_func(code)";       
    handler.appendChild(document.createTextNode("event_notify(code);"));
    document.body.appendChild(handler);

function event_notify(code){
    // do something
    if(code == EXPECTED_RESULT)
    {
        // 처리 코드 
    }
}

위의 코드로 생성한 script 요소는 아래와 같다.

function callback_func(code)
{
    event_notify(code);
}

생성된 callback_func 내부에서 사용자가 정의한 함수(event_notify)를 호출하는 방식이 된다.

댓글