ExtJS 와 ActiveX 의 불편한 동거...



요즘에 한참 개발 중인 페이지입니다.







임시저장 버튼을 누르면 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 으로 설정하여서 처리를 하였습니다.





댓글

가장 많이 본 글