728x90
반응형
XPlatform
런처 실행 시
웹 브라우저 뒤에서
뜰 경우
앞에서 뜨게 하는 방법
준비물
- ExtCommonAPI 를 사용해야 한다.
nexacro platform 개발시 유용한 기능을 모아 놓은 확장 API다.
- ExtCommonAPI 다운로드는 투비소프트 고객지원 홈페이지 ( http://support.tobesoft.co.kr/ ) 의 Donwloads -> Xplatform -> etc 에서 다운받을 수 있다.
- 원하는 버전이 없으면 Q&A에 요청하면 메일로 준다.
증상
- 대부분의 엑스플렛폼으로 서비스되는 사이트들은 팝업으로 엑스플렛폼 (Runtime) 인스톨 & 런처 실행 페이지를 띄우고, 런처가 실행되면 팝업은 수초 후 닫히는 구조인데, 런처가 실행될때 팝업등 웹 브라우저 뒤에 숨어서 뜨거나, 아니면 팝업이 닫히면서, 엑스플렛폼 런처가 웹 브라우저 뒤로 숨어버리는 현상이 있다.
해결
- 원인은 잘 모르겠고 보니까 뭔가의 이유로 프로그램들 간 순서가 바뀌는것같은데.. 젤 처음 로딩 되는 폼에서 (예를들면 로그인폼이라던지 아니면 메인화면 폼등) mainframe.activate() 함수와 ExtCommonAPI 의 SetTopWindow(true) 함수를 사용해서 런처를 최상위로 올리는 방법을 사용하면 된다.
- form의 onload 이벤트에서 런처를 최상위로 올리는 설정를 해주고, form의 ontimer이벤트를 사용해서 몇초후 최상위 설정을 풀어준다.
(인스톨 팝업이 닫히고 나서, 엑스플렛폼 런처 최상위 설정을 풀어준다고 생각하고, 해제 시간딜레이를 주자.)
// ExtCommon
var extCommon = new ExtCommon();
// 폼의 onload 이벤트
function formname_onload(obj, e)
{
application.mainframe.activate();
// 런처 최상위 설정
extCommon.SetTopWindow(true);
// 5초뒤 이벤트 실행, 최상위 해제할 시간 딜레이는 상황에 맞게 알아서 주자.
setTimer( 1, 5000 );
}
// 폼의 ontimer 이벤트
function formname_ontimer(obj, e)
{
// 계속 사용할 필요없으니, 한번사용하고 타이머는 죽인다.
this.killTimer(1);
// 런처 최상위 해제
extCommon.SetTopWindow(false);
}
728x90
반응형