이 장에서는 전용 브라우저에 대한 개요를 설명한다.
전용 브라우저는 다음과 같은 기능 및 특징을 가지고 있다.
구분 | 설명 |
---|---|
목적 | HTML5 를 지원하는 커스텀 브라우저를 제공한다. |
엔진 | 크로미움 오픈소스 기반 엔진을 기반으로 제공된다. |
전용 브라우저는 별도의 파라미터가 없는 경우, 전용 브라우저 파일이 위치한 디렉토리의 “xFrame5BrowserDev.ini” 파일을 사용한다. 구성 파일은 “UTF-16 Little Endian” 형식으로 인코딩 되어 있어야 한다.
구성파일은 기본설치파일에 포함되지 않으므로, 필요시 아래의 구성 파일 예시를 참고하여 작성해야 한다.
별도의 구성 파일을 지정할 필요가 있는 경우에는 --xf5-config-filename 파라미터를 이용하여 구성 파일의 절대 경로를 지정한다.
구성 파일은 일반적인 ini 파일의 구조를 가지며, “XFRAME5BROWSER” 섹션값을 사용한다.
키 | 기본값 | 설명 |
---|---|---|
APP_NAME | XFRAME5 | 팝업창에 표시할 이름 |
APP_EXIT_CHECK | TRUE | 전용 브라우저 종료시 종료 확인 메시지 박스 표시 여부 (TRUE/FALSE 지정 가능) |
APP_EXIT_MSG | 종료하시겠습니까? | 전용 브라우저 종료시 종료 확인 메시지 박스에 표시될 메시지 내용 |
APP_ABNORMAL_EXIT_CHECK | FALSE | 전용 브라우저 browserexit API 호출이 아닌 방법으로 종료시 검사 여부 |
APP_ABNORMAL_EXIT_MSG | 정상적인 방식으로 종료해주세요! | 전용 브라우저 browserexit API 호출이 아닌 방법으로 종료시 검사시, 메시지 박스에 표시될 메시지 내용 |
DOWNLOAD_COMPLETE_MSG_SHOW | 1 | 전용 브라우저에서 파일 다운로드 완료시 메시지 표시여부(1 : 표시, 그외 : 비표시) |
DOWNLOAD_COMPLETE_MSG | File Download Completed. | 전용 브라우저에서 파일 다운로드 완료시 표시될 메시지 내용 |
INSTANCENAME | 다중실행 방지시 키값 값이 없거나, 빈 값이면 다중실행(기본) | |
INSTANCE_ERROR_MSG | xFrame5Browser already existed. | INSTANCENAME 가 설정된 상태에서 다중실행시 표시할 에러메시지 |
INSTANCE_ERROR_MSG_SHOW | 1 | INSTANCENAME 가 설정된 상태에서 다중실행시 INSTANCE_ERROR_MSG 에러메시지 표시여부(1 : 표시, 그외 : 비표시) |
INSTANCE_LIMIT | INSTANCENAME 가 설정된 상태에서 다중실행 가능 최대 개수 | |
ICON_FILE | 전용브라우저 왼쪽상단 및 작업표시줄에 표시할 아이콘파일(절대경로/상대경로) ※ 기동파라미터(xf5-icon-file)와 함께 사용시 기동파라미터가 우선적용됨 |
|
OPEN_DOWNLOAD_FILE | 0 | 다운로드 완료된 파일 실행여부
※ 기동파라미터(open-download-file)와 함께 사용시 기동파라미터가 우선적용됨 |
HIDE_FILEDIALOG | 0 | 파일 다운로드시 파일선택대화상자 표시여부
※ 기동파라미터(hide-filedialog)와 함께 사용시 기동파라미터가 우선적용됨 |
LOG_SEVERITY | debug.log 에 출력할 로그 레벨
※ 기동파라미터(log-severity)와 함께 사용시 기동파라미터가 우선적용됨 |
|
CONSOLE_LOG_LEVEL | console.log 파일에 출력할 로그 레벨
※ 기동파라미터(console-log-level)와 함께 사용시 기동파라미터가 우선적용됨 |
|
CONSOLE_LOG_LIMIT | console.log 파일의 크기를 제한 최대크기를 넘으면 파일을 백업하고 처음부터 새로 쓴다. (MB 단위로 지정) ※ 기동파라미터(console-log-limit)와 함께 사용시 기동파라미터가 우선적용됨 |
|
HIDE_CONTEXTMENU | 0 | 오른쪽마우스 클릭시 컨텍스트메뉴 표시여부
※ xFrame5 엔진에서 표시하는 컨텍스트메뉴는 제외 ※ 기동파라미터(hide-contextmenu)와 함께 사용시 기동파라미터가 우선적용됨 |
ADD_CONTEXTMENU_DEVTOOLS | 0 | 컨텍스트메뉴에 개발자도구항목 표시여부
※ xFrame5 엔진에서 표시하는 컨텍스트메뉴는 제외 ※ 기동파라미터(add-contextmenudevtools)와 함께 사용시 기동파라미터가 우선적용됨 |
SHOW_ADDRESSBAR | 0 | 전용브라우저 실행시 상단 주소표시줄 표시여부
※ 기동파라미터 --url 로 시작페이지를 지정한 경우는 항상 표시안함 |
LOADINGDLG_BACKIMAGE | 로딩중대화상자의 배경이미지 지정
|
|
LOADINGDLG_SIZE | 로딩중대화상자의 크기 지정(width, height 를 콤마(,)구분자로 지정) | |
LOADINGDLG_MSG | 로딩중대화상자의 메시지 지정 | |
LOADINGDLG_MSG_FONT | 로딩중대화상자의 메시지 폰트 지정 (글꼴, 크기, 굵게, 기울임, 밑줄, 취소선을 콤마(,)구분자로 지정) | |
LOADINGDLG_MSG_FORECOLOR | 로딩중대화상자의 메시지 전경색 지정 (RGB 값을 콤마(,)구분자로 지정) | |
LOADINGDLG_MSG_BACKCOLOR | 로딩중대화상자의 메시지영역 배경색 지정 (RGB 값을 콤마(,)구분자로 지정) | |
LOADINGDLG_MSG_POS | 로딩중대화상자의 메시지영역 위치 및 크기 지정 (left, top, width, height 를 콤마(,)구분자로 지정) | |
LOADINGDLG_MSG_SHOW | 1 | 로딩중대화상자의 메시지 표시여부
|
LOADINGDLG_BACKIMAGEINTERVAL | 300 | 로딩중대화상자의 배경이미지 배열 순환간격 지정 (단위:ms) |
LOADINGDLG_BACKIMAGE_1 LOADINGDLG_BACKIMAGE_2 : : LOADINGDLG_BACKIMAGE_9 | 로딩중대화상자의 배경이미지 배열
LOADINGDLG_BACKIMAGEINTERVAL 에서 지정한 간격으로 순차적으로 이미지를 표시표시할 이미지갯수만큼 지정(최대 9 개) ※ LOADINGDLG_BACKIMAGE 와 함께 사용시 이 값이 우선적용됨 |
|
MIN_FONT_SIZE | 최소 글꼴 크기 지정(px 단위) ※ 기동파라미터(min-font-size)와 함께 사용시 기동파라미터가 우선적용됨 |
|
EXIT_EMPTY_URL | 0 | 기동파라미터에 URL정보(–url)가 없으면 프로세스 종료 여부
|
아래는 구성 파일에 대한 예시이다.
[XFRAME5BROWSER] ;어플리케이션 이름 지정 APP_NAME = XFRAME5 ;전용 브라우저 종료시 종료 확인 메시지 박스 표시 여부 (기본값: TRUE) APP_EXIT_CHECK = TRUE ;전용 브라우저 종료시 종료 확인 메시지 박스에 표시될 메시지 내용 (기본값: 종료하시겠습니까?) ;APP_EXIT_MSG = Are you want to exit? ;전용 브라우저 browserexit API 호출이 아닌 방법으로 종료시 검사 여부 (기본값: FALSE) APP_ABNORMAL_EXIT_CHECK = FALSE ;전용 브라우저 browserexit API 호출이 아닌 방법으로 종료시 검사시 ;메시지 박스에 표시될 메시지 내용 (기본값: 정상적인 방식으로 종료해주세요!) APP_ABNORMAL_EXIT_MSG = 정상적인 방식으로 종료해주세요! ;다중실행 방지키(키값이 없거나, 빈값이면 다중실행가능) INSTANCENAME = xFrame5Browser ;INSTANCENAME = xFrame5Browser_DEV ;다중실행 방지 에러메시지(기본값: xFrame5Browser already existed.) INSTANCE_ERROR_MSG = 전용브라우저가 이미 실행중입니다. ;다중실행 가능 최대 갯수(기본값: 1) ; 3 을 설정하면 최대 3 개까지 동시실행 가능 INSTANCE_LIMIT = 3 ;전용브라우저 아이콘 ICON_FILE = xframe5.ico ;ICON_FILE = ..\xframe5.ico ;ICON_FILE = c:\xframe5\xframe5.ico ;다운로드 완료된 파일 실행여부 OPEN_DOWNLOAD_FILE=0 ;파일 다운로드시 파일선택대화상자 표시여부 HIDE_FILEDIALOG=0 ;debug.log 에 출력할 로그 레벨 LOG_SEVERITY=disable ;console.log 파일에 출력할 로그 레벨 CONSOLE_LOG_LEVEL=disable ;console.log 파일의 크기(MB 단위) CONSOLE_LOG_LIMIT=1 ;오른쪽마우스 클릭시 컨텍스트메뉴 표시여부(기본값:0 표시) ;xFrame5 엔진에서 표시하는 컨텍스트메뉴는 제외 HIDE_CONTEXTMENU=0 ;컨텍스트메뉴에 개발자도구 항목 표시여부부(기본값:0 표시안함) ADD_CONTEXTMENU_DEVTOOLS=1 ;메시지 내용 LOADINGDLG_MSG=로딩중 ;대화상자크기 ;width,height LOADINGDLG_SIZE=331,221 ;대화상자 배경이미지 ;절대경로 또는 상대경로(bmp 파일) ;LOADINGDLG_BACKIMAGE=loadingdlg.bmp LOADINGDLG_BACKIMAGE=C:\\xFrame5\\xFrame5Browser\\loadingdlg.bmp ;메시지 폰트 ;글꼴, 크기, 굵게, 기울임, 밑줄, 취소선 LOADINGDLG_MSG_FONT=궁서,20,1,1,0,0 ;메시지 전경색 ;Red, Green, Blue LOADINGDLG_MSG_FORECOLOR=255,0,0 ;메시지 배경색 ;Red, Green, Blue LOADINGDLG_MSG_BACKCOLOR=241,241,241 ;메시지 위치 및 크기 ;left,top,width,height LOADINGDLG_MSG_POS=20,70,290,130 ;메시지 표시여부(0:비표시, 1:표시(기본값)) LOADINGDLG_MSG_SHOW=0 ;대화상자 배경이미지 배열 순환 간격(기본값:300ms) LOADINGDLG_BACKIMAGEINTERVAL=200 ;대화상자 배경이미지 배열(최대 9 개) LOADINGDLG_BACKIMAGE_1=C:\\xFrame5\\xFrame5Browser\\loadingdlg1.bmp LOADINGDLG_BACKIMAGE_2=C:\\xFrame5\\xFrame5Browser\\loadingdlg2.bmp LOADINGDLG_BACKIMAGE_3=C:\\xFrame5\\xFrame5Browser\\loadingdlg3.bmp LOADINGDLG_BACKIMAGE_4=C:\\xFrame5\\xFrame5Browser\\loadingdlg4.bmp ;최소 글꼴 크기 지정(px 단위) MIN_FONT_SIZE=6 ;기동파라미터에 URL정보(--url)가 없으면 프로세스 종료 여부(0:처리안함(기본값), 1: URL정보 없으면 종료) EXIT_EMPTY_URL=0
전용 브라우저와 범용 브라우저와의 비교 내용은 아래와 같다. 범용 브라우저는 IE, Edge, Chrome 과 같은 일반적인 웹 브라우저를 말한다.
구분 | 범용브라우저 | 전용브라우저 |
---|---|---|
업데이트 및 설치 | 운영 체제 업데이트 또는 브라우저 자체 업데이트 기능을 통해 수행됨 | 프로젝트 수행 담당자에 의해서 설치 및 패치 제어 가능 |
타이틀바 | 변경 불가 | 아이콘 및 닫기 버튼 제어 가능 |
주소바 | 숨김 불가 | 숨김 가능 |
실행 파라미터 확장 | 확장 불가 | 확장 가능 |
IME 처리 | IE 외 수용 불가 | 적용 가능 |
브라우저 종료 제어 | 제어 불가 | 제어 가능 |
브라우저 크기 변경 | 사용자 조작에 의해서만 가능 | API 레벨로 제어 가능 |
기타 부가 기능 확장 | 적용 불가 | 적용 가능 (factory 오브젝트를 통한 부가 기능 제공 및 확장 가능) |
인쇄 미리보기 | 브라우저 기능 이용 | 브라우저 기능 이용 |
ActiveX 수용 | IE 만 가능 | 수용 불가 |
브라우저 개발도구 | 표시 제어 불가능 | 표시 제어 가능 |
엑셀 파일 로드 (DRM 적용된 파일 포함) | WAS 서버 XExcel.jar 라이브러리 이용하여 로드 (DRM 해제를 위해서는 외부 라이브러리 연계 필요) | 엑셀 오토메이션 기능을 이용하여 직접 로드 가능 |
프로세스 실행 개수 제어 | 불가 | 제공 가능 |
확장 API (xplus API) | 불가 | 파일/디렉토리 제어 기능 IP 주소 관련 기능 IE 브라우저 로딩 기능 외부 프로그램 실행 기능 |
이 장에서는 전용 브라우저 파라미터에 대해서 설명한다.
전용 브라우저 형식은 아래와 같다. 파라미터 정의 방식은 파라미터만 정의하여 특정 기능을 수행하도록 하는 방식이다.
구분 | 형식 | 비고 |
---|---|---|
파라미터 정의 방식 | “--“ + 파라미터이름 | 파라미터만 정의하여 특정 기능을 수행하도록 하는 방식이다. |
파라미터 값 지정 방식 | “--“ + 파라미터이름 + “=” + 파라미터값 | 파라미터 및 값을 지정하여 특정 기능을 수행하도록 하는 방식이다. “=” 문자를 기준으로 좌우 공백없이 지정해야 한다. |
크로미움 브라우저가 정의한 파라미터를 “기본 파라미터”라고 정의하고, 전용 브라우저에서 확장한 파라미터를 “확장 파라미터”로 명명한다.
지정 가능한 기본 파라미터의 값은 아래와 같다. (파라미터 이름은 편의상 “--“를 제외하여 표시하였다.)
(관련 URL: https://peter.sh/experiments/chromium-command-line-switches/)
파라미터 | 내용 | 비고 |
---|---|---|
url | http://~또는 https://~또는 file:///~ 로 시작되는 URL |
|
cache-path | 캐쉬 및 쿠키 파일을 저장할 디렉토리 절대 경로 |
|
disable-web-security | AJAX 의 cross-domain 문제를 피해갈 수 있다. (Don't enforce the same-origin policy.) | |
allow-file-access-from-files | 로컬에서 html 파일을 수정한 후 크롬으로 확인하고 싶을때 크롬에서 file:// 프로토콜을 읽지 못하는 경우가 있다. 이 옵션으로 수행하면 로컬의 파일을 크롬에서 읽을 수 있다. | |
disable-features | TSFImeSupport | 비활성화할 기능 이름을 콤마(,)로 구분하여 지정한다.
TSFImeSupport 기능에 대한 정보는 아래의 URL 을 참조한다. (https://casternet.com/neo/bbs/view.php?bd=notice&no=79)
|
enable-print-preview | 인쇄대화상자를 미리보기형태로 실행 | |
log-severity | 로그레벨 | debug.log 에 출력할 로그 레벨
※ 구성파일의 키(LOG_SEVERITY)과 함께 사용시 기동파라미터가 우선적용됨. |
autoplay-policy | no-user-gesture-required |
|
remote-debugging-port | port | 현재 실행되어있는 전용브라우저의 웹페이지를 크롬브라우저에서 접속하여 디버깅할 수 있다.
크롬브라우저에서의 접속 : http://localhost:1195 ※ 다른 단말에서 원격으로 접속하려면 해당포트에 대한 방화벽해제, 포트포워딩 등의 작업이 필요 |
allow-running-insecure-content | 안전하지 않은 컨텐츠(mixed content)를 허용한다. | |
ignore-certificate-errors | 보안 인증서에 관한 오류를 무시한다. | |
js-flags | 자바스크립트 V8 엔진의 플래그를 설정한다.
개발자도구 콘솔에서 performance.memory.jsHeapSizeLimit 명령어로 확인가능 플래그에 대한 정보는 아래의 URL 을 참조한다. |
|
force-device-scale-factor | 이 옵션을 사용하면 브라우저가 웹 페이지의 크기를 특정 배율로 강제 조정할 수 있다.
|
지정 가능한 확장 파라미터의 값은 아래와 같다. (파라미터 이름은 편의상 “--“를 제외하여 표시하였다.)
구분 | 값 | 비고 |
---|---|---|
start-maximized | N/A | 브라우저를 최대화 상태로 시작한다. |
start-minimized | N/A | 브라우저를 최소화 상태로 시작한다. |
window-position | left,top “center” “left,top” “left,bottom” “right,top” “right,bottom” | 브라우저 초기 위치 지정
|
window-size | width,height | 브라우저 시작시 컨텐츠영역의 크기를 지정한다.
|
no-sysmenu | N/A | 타이틀바 최소화, 최대화, 닫기 버튼을 숨김 처리한다. |
disable-close-sysmenu | N/A | 타아틀바 닫기 버튼을 비활성 처리한다. |
xf5-config-filename | 파일경로 | 전용브라우저가 사용할 구성 파일 절대경로/상대경로를 지정한다. |
show-loadingdlg | N/A | 전용브라우저 기동시 로딩대화상자 표시 (“--url”파라미터 지정시에만 동작) |
disable-resize | 크기 고정 방향 | 전용브라우저 크기 고정(메인창만 적용)
※ 최대화버튼 동작
|
browser-size | width,height | 브라우저 시작시 브라우저의 크기를 지정한다. 픽셀 단위로 크기값을 콤마(,)로 구분하여 공백없이 지정한다.
※ --window-size 와 동시 설정시 --window-size 를 적용 |
allow-shortcut-refresh | N/A | Ctrl+Shift+F5 키 입력시 강력새로고침(캐시 초기화) |
allow-shortcut-showdevtools | N/A | Ctrl+Shift+F12 키 입력시 개발자 도구 실행 |
show-devtools | N/A | 브라우저 시작시 개발자 도구 실행 |
console-log-level | 로그레벨 | console.log 파일에 출력할 로그 레벨
※ 구성파일의 키(CONSOLE_LOG_LEVEL)과 함께 사용시 기동파라미터가 우선적용됨 |
console-log-limit | 파일 최대크기(MB 단위) | console.log 파일의 크기를 제한 최대 크기를 넘으면 파일을 백업하고 처음부터 새로 쓴다. ※ 구성파일의 키(CONSOLE_LOG_LIMIT)과 함께 사용시 기동파라미터가 우선 적용됨 |
modify-popup-style | 타이틀바표시여부, 닫기버튼표시여부, 최소화버튼표시여부, 최대화버튼표시여부 | 팝업 창에 대해서 상단타이틀바 표시 상태를 설정한다.
|
startup-clear-cache | N/A | 브라우저 기동시 기존 캐시를 삭제한다.
|
xf5-icon-file | 파일경로 | 전용브라우저 왼쪽상단 및 작업표시줄에 표시할 아이콘파일(절대경로/상대경로) ※ 구성파일의 키(ICON_FILE)과 함께 사용 시 기동파라미터가 우선 적용됨 |
open-download-file | 실행여부 | 다운로드 완료된 파일 실행 여부
※ 구성파일의 키(OPEN_DOWNLOAD_FILE)과 함께 사용 시 기동파라미터가 우선 적용됨 |
hide-filedialog | 표시여부 | 파일 다운로드 시 파일 선택 대화상자 표시 여부
※ 구성 파일의 키(HIDE_FILEDIALOG)과 함께 사용 시 기동파라미터가 우선 적용됨 |
download-path | 디렉토리 경로 | 파일 다운로드 기본 경로를 지정한다. |
hide-contextmenu | N/A | 오른쪽 마우스 클릭 시 컨텍스트메뉴 표시 안 함 ※ xFrame5 엔진에서 표시하는 컨텍스트 메뉴는 제외 ※ 구성파일의 키(HIDE_CONTEXTMENU)과 함께 사용 시 기동파라미터가 우선 적용됨 |
add-contextmenu-devtools | N/A | 컨텍스트 메뉴에 개발자도구 항목 표시 ※ xFrame5 엔진에서 표시하는 컨텍스트 메뉴는 제외 ※ 구성파일의 키(ADD_CONTEXTMENU_DEVTOOLS)과 함께 사용 시 기동파라미터가 우선 적용됨 |
hide-titlebar | 크기조절 여부 | 전용브라우저 타이틀바를 숨김(크기고정) --hide-titlebar=1 로 설정시 크기 조절 가능 --hide-titlebar=2 로 설정시 작업표시줄 영역과 상관없이 크기 고정 ※ 2 로 설정시, 최대화하면 작업표시줄영역을 가릴 수 있음 |
allow-shortcut-print | 단축키 허용여부 | 0 지정 시 단축키(Ctrl+P)입력 시 인쇄대화상자 표시 안 함 |
allow-shortcut-find | 단축키 허용여부 | 0 지정 시 단축키(Ctrl+F)입력 시 찾기대화상자 표시 안 함 |
xplus-param | 문자열 파라미터 | 팩토리 xplusbrowserparam API 에서 취득할 문자열 파라미터를 지정한다. |
min-font-size | 글꼴 크기 | 최소 글꼴 크기 지정(px 단위)를 지정한다. ※ 구성파일의 키(MIN_FONT_SIZE)과 함께 사용 시 기동파라미터가 우선 적용됨 |
이 장에서는 전용 브라우저의 단축키에 대해서 설명한다.
전용브라우저에서 지원하는 단축키 정보는 아래와 같다.
단축키 | 설명 |
---|---|
Ctrl+F | 찾기창 실행 |
Ctrl+P | 인쇄대화상자 실행 |
Ctrl+Shift+F5 | 강력새로고침(캐시 초기화) 실행 ※ 기동파라미터 –allow-shortcut-refresh 지정시에 동작한다. |
Ctrl+Shift+F12 | 개발자 도구 실행 ※ 기동파라미터 –allow-shortcut-showdevtools 지정시에 동작한다. |
이 장에서는 전용 브라우저와 개발툴 연동에 대해서 설명한다.
개발툴에서 전용브라우저를 기동하기 위해서는 전용 브라우저 실행파일이 개발툴 디렉토리 하위에 위치해야 한다.
전용브라우저 비트수 | 위치 |
---|---|
32bit | 개발툴설치디렉토리/xFrame5Browser/xFrame5Browser(x86) |
64bit | 개발툴설치디렉토리/xFrame5Browser/xFrame5Browser(x64) |
개발툴에서 전용브라우저로 미리보기를 실행하기 위해서 아래와 같이 설정한다.
개발툴의 환경파일에서 기동파라미터를 설정할 수 있다.
기본 기동파라미터 정보는 아래와 같다.(“CMD_No”형식으로 사용하고, 숫자는 연속적이어야 한다.) 파일이 없는 경우, 아래의 기동파라미터가 기본으로 적용된다.
[XFRAME5BROWSER] CMD_1=allow-shortcut-refresh CMD_2=allow-shortcut-showdevtools CMD_3=disable-web-security CMD_4=allow-file-access-from-files CMD_5=disable-features=TSFImeSupport
예 1) 기동파라미터 “disable-web-security”를 제거
[XFRAME5BROWSER] CMD_1=allow-shortcut-refresh CMD_2=allow-shortcut-showdevtools CMD_3=allow-file-access-from-files CMD_4=disable-features=TSFImeSupport
예 2) 기동파라미터 “show-devtools”를 추가
[XFRAME5BROWSER] CMD_1=allow-shortcut-refresh CMD_2=allow-shortcut-showdevtools CMD_3=disable-web-security CMD_4=allow-file-access-from-files CMD_5=disable-features=TSFImeSupport CMD_6=show-devtools