window


window 은 HSP 에서 기본으로 제공하는 API로 별도의 설정 없이 사용 가능하며 HSP 의 화면 단위인 window 를 제어 하거나 팝업 윈도우를 조정하는 등의 기능을 제공한다. 


showWindow

showWindow는 4.2.8 버전 이상 부터 제공됩니다.

showWindow 는 사용자가 window.json 에 설정해둔 윈도우를 이용해 화면에 내용을 출력하는 역할을 한다. 

현재 윈도우가 팝업 윈도우인 경우 새로운 팝업 윈도우 생성만 가능하다.
(일반 윈도우를 생성하거나 윈도우 간 이동 등 모두 불가함)

options

필드설명비고M/O
windowNamewindow.json 에 설정해둔 Window 이름 M
urlWebWindow 일 경우 지정한 URL 을 Load 한다.
비즈앱 또는 웹 화면 경로 (비즈앱 경로의 경우 비즈앱 root 폴더 기준 절대경로를 기입, http 또는 https scheme이 있는 경우 웹 화면 경로로 인식)
 O
params윈도우에 전달할 Map 형태의 파라미터 O
animated원도우 생성 및 종료시 애니메이션 실행 여부HSP 에 내장되어 있는 애니메이션 리소스를 통해 화면을 출력 한다. 리소스 변경 방법은 Window Animation 내용을 참조하면 된다.O
   

Example

DAPWindow.show("customWindow", url: "index.html", animated: true, params: ["key": "value"] completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPWindow showWindow:@"customWindow" url:@"index.html" params:@{@"key":@"value"} animated:YES completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

sendMessage

sendMessage는 4.2.8 버전 이상 부터 제공됩니다.

sendMessage은 window.json 에 설정해둔 윈도우를 이용해 Dictionary 형태의 메세지를 전달한다.

options

필드설명M/O
windowNamewindow.json 에 설정해둔 Window 이름M
messageDictionary 형태의 메세지M
   

Example

DAPWindow.sendMessage("subWeb", message: [
   "key": "value"
], completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPWindow sendMessage:@"subWeb" message:@{@"key":@"value"} completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

currentWindow

currentWindow는 4.5.12 버전 이상 부터 제공됩니다.

currentWindow 는 사용자가 현재 Window 객체를 반환하는 역할을 한다.

Example

DAPWindow.currentWindow()
[DAPWindow currentWindow];

getWindow

getWindow는 4.5.12 버전 이상 부터 제공됩니다.

getWindow 는 전달된 윈도우 아이디에 해당하는 Window 객체를 반환하는 역할을 한다. 객체가 없는 경우 nil을 반환한다.

options

필드설명M/O
windowNamewindow.json 에 설정해둔 Window 이름M
   

Example

DAPWindow.getWindow("customWindow")
[DAPWindow getWindow:@"customWindow"];

hasWindow

hasWindow는 4.2.8 버전 이상 부터 제공됩니다.

윈도우가 이미 생생되었는지 여부를 확인한다.

options

필드설명M/O
windowNamewindow.json 에 설정해둔 Window 이름M
   

Example

DAPWindow.hasWindow("customWindow", completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})

[DAPWindow hasWindow:@"customWindow" completion:^(NSDictionary *resultDict) {
 TODO
} failure:^(NSError *error) {
    
TODO
}];
{{/code}}


destroyWindow

destroyWindow는 4.2.8 버전 이상 부터 제공됩니다.

생성 된 윈도우를 삭제한다.

현재 윈도우가 팝업 윈도우인 경우 현재 윈도우만 삭제 가능하다.

options

필드설명M/O
windowNamewindow.json 에 설정해둔 Window 이름M
   

Example

DAPWindow.destroy("customWindow", completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPWindow destroyWindow:@"customWindow" completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

clearCache

clearCache는 4.2.8 버전 이상 부터 제공됩니다.

캐시는 애플리케이션별로 이루어지므로 사용된 모든 WebView에 대한 캐시가 지워진다.

Example

DAPWindow.clearCache()
[DAPWindow clearCache];

goBack

현 윈도우가 Web 윈도우면 webview 의 history 에 따라 back 하게 되고 history 가 더 이상 존재하지 않으면 윈도우를 삭제한다.

Example

DAPWindow.goBack({ resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPWindow goBack:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

canGoBack

현재 윈도우가 web 윈도우면 webview 에 history 를 파악하여 back 이 가능한 지 유/무 를 전달 받는다.

Example

DAPWindow.canGoBack({ resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPWindow canGoBack:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

goForward

goForward는 4.2.8 버전 이상 부터 제공됩니다.

현 윈도우가 Web 윈도우면 webview 의 history 에 따라 forward가 가능한 경우 다음 페이지로 이동한다.

Example

DAPWindow.goForward({ resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPWindow goForward:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

canGoForward

canGoForward는 4.2.8 버전 이상 부터 제공됩니다.

현재 윈도우가 web 윈도우면 webview 에 history 를 파악하여 forward가 가능한 지 유/무 를 전달 받는다.

Example

DAPWindow.canGoForward({ resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPWindow canGoForward:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

alert

경고창을 띄운다.

options

필드설명M/O
title다이얼로그 타이틀O
message다이얼로그 메시지O
   

Example

DAPWindow.alert("title", message: "message")
[DAPWindow alert:@"title" message:@"message"];

confirm

확인창을 띄운다.

options

필드설명M/O
title다이얼로그 타이틀O
message다이얼로그 메시지O
   

Example

DAPWindow.confirm("title", message: "message", completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPWindow confirm:@"title" message:@"message" completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

showLoadingScreen

로딩 다이얼로그를 띄운다.

options

필드설명M/O
title다이얼로그 타이틀O
   

Example

DAPWindow.showLoadingScreen("Please wait")
[DAPWindow showLoadingScreen:@"Please wait"];

hideLoadingScreen

로딩 다이얼로그를 닫는다.

Example

DAPWindow.hideLoadingScreen()
[DAPWindow hideLoadingScreen];

fullScreen

fullScreen는 프레임워크 구조상 지원하지 않습니다.


isFullscreen

isFullscreen는 프레임워크 구조상 지원하지 않습니다.


orientation

orientation는 3.0.0 버전 이상 부터 제공됩니다.

단말의 orientation 정보를 반환 한다.

Example

DAPWindow.orientation({ resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPWindow orientation:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

exitApp

앱을 종료 한다.

Example

DAPWindow.exitApp()
[DAPWindow exitApp];

Error Code

CodeCauseComment
E11500파라메터 값이 잘못되어 있을 경우 
E11501전달된 액션 값이 알 수 없는 액션일 경우 
E11502윈도우 이름이 잘못되어 있을 경우 
E11503Fullscreen 설정을 위한 값이 잘못되어 있을 경우 
E11504윈도우 간에 메시지 전송을 위한 값이 잘못되어 있을 경우 
E11550실행 중 오류가 발생 되었을 경우 
E11551assets/config/window.json 에 설정해둔 Window 가 존재하지 않는 경우 
E11552윈도우 생성에 실패한 경우 
E11553윈도우 삭제 시 생성된 윈도우가 존재하지 않는 경우 
E11554윈도우 생성 및 이동시 현재 윈도우가 팝업 윈도우인 경우 
E11555윈도우 간에 메시지가 전달되지 않는 경우 
E11556설치 된 비즈앱이 존재하지 않은 경우 
E11557요청한 비즈앱 경로의 페이지를 찾을 수 없는 경우 
E11558요청한 비즈앱의 경로가 비즈앱이 설치 된 경로 외 파일에 접근을 할 경우 
E11599알 수 없는 오류가 발생 되었을 경우