탄력적으로 엘레멘트의 비헤이버를 도입한다.
![]() | Script | namespace.doImport(urlVal) |
반환값은 없다.
이 메서드로 namespace로 도입되면, 엘레멘트 비에헤어는 이름자리가 선언된 페이지에서 사용될 수 있다.
웹 페이지에서 엘레멘트가 비헤이버의 기능을 구연하는데 이 메서드의 단독적인 사용으로는 충분하지 않다. 문서에 사용자 엘레멘트를 아래 예제와 같이 추가할 필요가 있다,
HTML 태그의 xmlns 애트리뷰트에 선언함으로서 사용자 이름자리에서 사용자 태그를 사용하는 방식을 설명한다.
<HTML xmlns:MyNS> <BODY> <MyNS:MyTag/> </BODY>
아래 예제와 같이 스트립트나 이진수 비헤이버도 삽입된 사용자 엘레멘트에 사용될 수 있다.
개체 | script | IE |
---|---|---|
namespace | namespace.doImport(urlVal) | IE5.5(win32,ce) |
![]() | doImport 메서드⇒ | ![]() | ![]() ![]() ![]() |
이름자리 MyNS를 선언하고 디폴트 비헤이버를 도입한다.
<HTML xmlns:MyNS> <HEAD> <SCRIPT language="JScript"> document.namespaces("MyNS").doImport("#default"); </SCRIPT> </HEAD>
createElement와 함께 doImport 메서드로 엘레멘트를 생성하고 비헤이버를 도입하여 첨부하였다.
<HTML xmlns:MyNS> <BODY onload=doLoad()> <SCRIPT> var ns; function doLoad(){ ns=document.namespaces[0]; ns.doImport('exp/redbg.htc'); if (ns.readyState !='complete'){ // 엘레멘트 비헤이버 다운로드 완료될 때까지 대기 ns.attachEvent('onreadystatechange',addNewTag); } else addNewTag(); // ondocumentready 이벤트가 발생되면 return true; } function addNewTag(){ if (ns.readyState !='complete') return; var newElem=document.createElement('MyNS:REDBG'); newElem.innerText='ElementBehavior'; showA.appendChild(newElem); ns.detachEvent('onreadystatechange',addNewTag); str='ns.readyState='+ns.readyState+'<BR>'; str+='event.type='+event.type+'<BR>'; str+='newElem.nodeName='+newElem.nodeName+'<BR>'; showB.innerHTML=str; } </SCRIPT> <DIV id=showA style="border:solid 1 red;padding:5"></DIV> <DIV id=showB>결과 표시창</DIV> </BODY> </HTML>
exp/redbg.htc 파일의 내용은 다음과 같다.
<PUBLIC:component tagName=REDBG> <PUBLIC:attach event="onmouseover" onevent="ChangeBg()" /> <PUBLIC:attach event="onmouseout" onevent="RestoreBg()" /> </PUBLIC:component> <SCRIPT> function ChangeBg(){ runtimeStyle.backgroundColor='red'; runtimeStyle.color='yellow'; } function RestoreBg(){ runtimeStyle.backgroundColor='white'; runtimeStyle.color='black'; } </SCRIPT>
![]() | doImport 메서드 | ⇒ | ![]() ![]() |
최종 수정: 04/05/2025 22:38:15 | ![]() All right reserved | 비정상적인 방식으로 프레임없이 페이지에 접속하면 자주 오류가 발생됩니다. 오류가 나면 정상적 접속으로 시도해 보세요. | http://koxo.com/lang/js/method/doImport.html |