ExtJS 와 ActiveX 의 불편한 동거...
JavaScript/ExtJS / 2009. 8. 21. 01:31
요즘에 한참 개발 중인 페이지입니다.
임시저장 버튼을 누르면 Ext.Msg.alert() 메소드를 이용해서 확인하려고 하는데...
위의 툴바만 투명하게 gray 처리되었습니다. 왜 그럴까요?
원인은 바로!!! HwpCtrl, 즉, ActiveX 위로는 DIV 가 올라가지 않기 때문입니다.
예전에 GWT 할 때도 이런 사태가 발생해서 당근아저씨가 처리해 놓은 것이 있길래
약간 참조하여서 스크립트 버전으로 만들어보았습니다.
wiseone_staticframe.js
wiseone_msgbox.js
실제로 코드 작성시에 wiseone_msgbox.js 는 다른 js 와 마찬가지로 로드하시면 됩니다.
wiseone_staticframe.js 는 <body></body> 태그 안에 로드합니다.
그리고, msgbox 는 다음과 같이 사용합니다.
WiseOne.MsgBox.alert("임시저장 확인", "임시저장");
잘 나옵니다. 방식은 iframe 의 투명도를 0 으로 설정하고 전체 페이지에 가려놓은 후에 Ext 의 MsgBox 를 띄우는 것이었습니다.
예전에 같이 일했던 송아저씨의 이야기 (ActiveX 는 iframe 으로 가릴 수 있다는...) 를 토대로 당근아저씨가 만든 것입니다.
일단 좀 걱정되었던 부분이었는데 다행히도 쉽게 마무리 한 것 같습니다.
마무리하며...
그냥 iframe 을 로드했더니 전혀 변화가 없었습니다. 이유는 Ext ViewPort 의 contentEl 을 ActiveX 로 설정을 하여서 iframe 의 영역이 재대로 잡히지 않았던 것이었습니다. 그래서 position 을 absolute 로 설정하고, top 과 left 를 0 으로 설정하여서 처리를 하였습니다.
그냥 iframe 을 로드했더니 전혀 변화가 없었습니다. 이유는 Ext ViewPort 의 contentEl 을 ActiveX 로 설정을 하여서 iframe 의 영역이 재대로 잡히지 않았던 것이었습니다. 그래서 position 을 absolute 로 설정하고, top 과 left 를 0 으로 설정하여서 처리를 하였습니다.