화면에 모듈 형식(export 사용)으로 구현된 JavaScript 파일을 동적으로 로드합니다.
Parameters | Type | Description |
---|---|---|
strScreenUrl | STRING | 화면 URL |
strCallback | STRING | 화면 JavaScript Import 완료시 호출될 콜백 함수 |
Type | Description |
---|---|
void |
strCallback 파라미터는 옵션 파라미터로 JavaScript 라이브러리 로드가 완료됐을때, 호출될 함수의 이름을 지정합니다.
함수의 프로토타입은 아래와 같습니다.
/** * importscreenjs 함수 콜백 함수 * @param strScreenUrl 화면 URL * @param strJsUrl 화면 스크립트 URL * @param objJavaScriptModule import된 자바스크립트 모듈 (오류 발생시 null) * @param strErrMsg 오류 메시지 */ function CallBackImport(strScreenUrl, strJsUrl, objJavaScriptModule, strErrMsg) { }
// Import된 모듈을 할당할 변수
var objImportScreenJavaScriptModule = null;
/*
// /TEST/SOFTBASE/SB_024_export 화면의 스크립트 내용
export var EXP_VAR = "EXP_VAR";
export function EXP_FUNC() {
factory.consoleprint("EXP_FUNC");
return "EXP_FUNC_RETURN";
}
*/
function btn_test_on_mouseup(objInst)
{
// 화면의 스크립트 파일을 Import 수행
// IMPORTSCREENMODULEBASEURL 실행 파라미터 정의 필수
// xf_engine.min.js 파일 기준으로 화면 디렉토리 기본 URL
// IMPORTSCREENMODULEBASEURL 예시 "../../project/terminal/screen"
screen.importscreenjs("/TEST/SOFTBASE/SB_024_export", "CallBackImport");
}
/**
* importscreenjs 함수 콜백 함수
* @param strScreenUrl 화면 URL
* @param strJsUrl 화면 스크립트 URL
* @param objJavaScriptModule import된 자바스크립트 모듈 (오류 발생시 null)
* @param strErrMsg 오류 메시지
*/
function CallBackImport(strScreenUrl, strJsUrl, objJavaScriptModule, strErrMsg) {
factory.consoleprint("CallBackImport> strScreenUrl = " + strScreenUrl);
factory.consoleprint("CallBackImport> strJsUrl = " + strJsUrl);
if (objJavaScriptModule == null) {
factory.consoleprint("CallBackImport> objJavaScriptModule = " + null);
factory.consoleprint("CallBackImport> strErrMsg = " + strErrMsg);
return;
}
// 로드된 모듈을 전역 변수에 할당
objImportScreenJavaScriptModule = objJavaScriptModule;
// 로드된 모듈의 export된 변수 접근
factory.consoleprint(objImportScreenJavaScriptModule.EXP_VAR);
// 로드된 모듈의 export된 함수 호출
factory.consoleprint(objImportScreenJavaScriptModule.EXP_FUNC());
}