작성일별 목록
각 항목에 표기된 작성일은 해당 제약사항을 확인하거나 내용을 수정한 일자입니다. 문서에 기재하기 위해 검토하고 내용을 검수하는 과정이 필요하기 때문에 실제 업데이트되는 일자와 다를 수 있습니다. 각 항목의 업데이트 일자는 변경 이력을 참조해주세요.
2022년 | 항목 |
---|---|
11-04 | |
05-13 | |
01-26 | 컴포넌트의 onmousedown 이벤트 핸들러 함수 내에서 alert, confirm 메소드 실행 시 의도치 않은 동작 |
2020년 | 항목 |
---|---|
04-02 | |
03-27 | |
01-13 |
2019년 | 항목 |
---|---|
04-23 | |
05-27 | |
07-15 | |
09-24 | |
11-19 | |
11-20 | |
11-20 | |
12-24 |
2018년 | 항목 |
---|---|
01-16 | |
03-15 | |
08-17 | |
09-19 | |
10-15 | |
10-16 | |
10-24 | TextArea 컴포넌트에 텍스트 입력 후 문자열 뒤 공백 영역 클릭 시 다음 행 문자열 앞으로 캐럿이 위치하는 현상 |
11-14 |
2017년 | 항목 |
---|---|
01-09 | |
01-17 | |
01-18 | |
01-24 | |
01-31 | |
02-10 | |
02-13 | |
02-17 | |
02-23 | |
02-28 | |
03-09 | |
03-14 | |
05-22 | |
06-15 | |
06-15 | |
06-20 | |
06-27 | |
07-05 | |
07-07 | |
07-25 | |
07-27 | |
08-02 | |
08-07 | |
08-18 | 특정 스크립트가 일정 시간 이상 프로세스를 점유하고 있는 경우 중간에 발생하는 이벤트가 처리되지 못하는 제약 |
09-05 | |
10-10 | 컨텍스트 메뉴에서 "실행취소" 항목 선택 시 동작 방식의 차이 onbeforeexit 이벤트 내 스크립트 실행 시 제약 컴포넌트의 enable 속성값을 false로 지정했을 때 displaynulltext 속성값이 적용되지 못하는 현상 |
10-16 | |
10-19 | |
11-27 | |
11-28 | Div 컴포넌트 내 텍스트 편집 영역을 가지고 있는 컴포넌트의 일부만 보이는 경우 해당 컴포넌트로 포커스 이동 시 깜빡이는 현상 |
12-13 | 텍스트 편집 영역을 가지고 있는 컴포넌트에 포커스가 옮겨지는 시점에 waitcursor가 표시되는 경우 캐럿 위치가 옮겨지는 현상 |
12-14 | |
12-27 |
2016년 | 항목 |
---|---|
03-30 | |
05-13 | |
05-18 | ExcelExportObject 오브젝트에서 생성한 엑셀 파일의 셀을 복사해 다른 문서로 붙여 넣으면 색상이 달라지는 현상 |
07-05 | |
09-05 | |
09-07 | |
09-13 | |
09-13 | |
09-29 | |
09-29 | |
10-20 | |
11-04 | |
12-05 | |
12-22 |
2015년 | 항목 |
---|---|
05-12 | |
06-25 | Safari 브라우저에서 setPrivateProfile, getPrivateProfile 메소드 실행 시 기능 제약 |
10-19 |
2014년 | 항목 |
---|---|
09-24 |
사용 환경에 따른 기능 제약
MaskEdit 컴포넌트에 포커스가 옮겨졌을 때 캐럿 위치가 달라지는 현상
iOS 운영체제를 사용하는 디바이스에서 MaskEdit 컴포넌트의 type 속성값이 "string"인 경우 포커스가 옮겨졌을 때 캐럿 위치가 마지막으로 이동하는 현상이 있습니다.
RP | 작성일 | 설명 |
---|---|---|
69265 | 2016-09-13 | iOS 운영체제를 사용하는 디바이스에서 컴포넌트의 편집 영역에 포커스가 옮겨지는 경우 키패드가 표시되는 명령을 호출합니다. 이때 내부적으로 INPUT DOM 트리의 type을 변경하고 text값을 다시 설정합니다. 이 과정에서 캐럿이 마지막으로 이동하는 현상이 발생합니다. 강제적으로 캐럿의 위치를 변경할 수 있지만, 성능에 영향을 미칠 수 있어 현재의 상태를 유지하고 있습니다. |
"향상된 보호 모드" 옵션 활성화 시 파일 내려받기 기능 제약
IE10 이상 브라우저에서 [향상된 보호 모드] 옵션을 활성화한 경우 윈도우 폴더를 보호하기 위해 특정 폴더만 접근할 수 있도록 경로가 가상화되어 처리됩니다. 사용자가 해당 옵션을 활성화한 경우에 파일 내려받기 경로를 지정하는 기능을 사용할 수 없습니다.
RP | 작성일 | 설명 |
---|---|---|
71778 | 2017-02-13 | IE10 이상 브라우저 사용 시 사용자가 선택하는 옵션입니다. 필요한 경우 사용자가 옵션을 변경하도록 안내할 수 있습니다. |
Menu 컴포넌트의 배경 이미지가 표시되지 않는 현상
Firefox 브라우저를 사용하는 경우에는 Menu 컴포넌트의 itembackground 속성의 하위 속성 중에서 image 속성값으로 이미지 파일을 설정하고 repeat 속성값으로 "stretch"를 설정한 경우 애플리케이션 로딩 시 배경 이미지가 표시되지 않습니다.
RP | 작성일 | 설명 |
---|---|---|
71855 | 2017-02-17 | Firefox 브라우저의 렌더링 엔진 제약 사항입니다. 열려있는 웹브라우저를 새로고침하면 배경 이미지가 표시됩니다. |
FileUpload 컴포넌트의 appendItem 메소드가 동작하지 않는 현상
Safari 브라우저에서 FileUpload 컴포넌트의 appendItem 메소드를 반복해서 실행하는 경우 두 번째 실행부터 동작하지 않습니다.
RP | 작성일 | 설명 |
---|---|---|
72002 | 2017-02-28 | 윈도우용 Safari 브라우저 버그입니다. |
Edit 영역을 가지는 컴포넌트의 텍스트값 검색 제약
IE 브라우저를 사용하는 경우에는 Edit 영역을 가지는 컴포넌트에 입력된 텍스트값을 브라우저의 찾기 기능을 사용해 검색할 수 없습니다.
RP | 작성일 | 설명 |
---|---|---|
72123 | 2017-03-09 | IE 브라우저 기능 제약입니다. |
WebBrowser 컴포넌트 생성, 삭제 반복 시 운영체제 메모리 증가
윈도우 운영체제에서 넥사크로 브라우저 실행 시 WebBrowser 컴포넌트를 생성했다가 삭제하는 작업이 빈번하게 발생하는 경우 운영체제의 메모리 사용이 증가하며 애플리케이션 성능이 낮아지는 현상이 발생합니다.
예를 들어 Div 컴포넌트의 url 속성값으로 지정한 Form 오브젝트 내에 WebBrowser 컴포넌트를 배치한 경우 Div 컴포넌트의 url 속성값을 변경할 때마다 내부적으로 WebBrowser 컴포넌트의 생성과 삭제가 반복되며 메모리 사용이 증가합니다.
RP | 작성일 | 설명 |
---|---|---|
74036 | 2017-07-05 | 넥사크로 브라우저에서 실행 시 WebBrowser 컴포넌트는 WebBrowser2 OLE 컨트롤을 임베디드한 기능을 사용합니다. WebBrowser2 OLE 컨트롤의 특성상 생성, 삭제가 반복될 경우 메모리가 증가한다는 것이 제조사(마이크로소프트)의 공식적인 답변입니다. 하나의 WebBrowser 컴포넌트를 생성한 후 재사용하는 것을 권장합니다. |
마우스를 빠르게 움직이면 Div 컴포넌트의 onmouseout 이벤트가 발생하지 않는 현상
Div 컴포넌트 내에 UI 컴포넌트를 배치하고 Div 컴포넌트의 onmouseout 이벤트를 지정한 경우 마우스를 움직여 Div 컴포넌트 위를 지나가면 onmouseout 이벤트가 발생해야 하지만, 마우스를 빠르게 이동하는 경우 이벤트가 정상적으로 발생하지 않습니다.
예를 들어 아래 그림의 경우 파란색으로 칠해진 곳이 Div 컴포넌트이고 빨간색이 Button 컴포넌트인데 Div 컴포넌트 아래쪽에서 Button 컴포넌트를 지나 Div 컴포넌트의 위쪽으로 마우스를 빠르게 움직이면 onmouseout 이벤트가 정상적으로 발생하지 않는 경우가 있습니다.
생성되는 HTML 코드는 아래와 같습니다. 실제 Button 컴포넌트를 배치하고 Generate된 코드는 좀 더 복잡한데 브라우저에서 이벤트가 발생하지 않는 현상은 Div 태그가 중첩된 경우 재현되고 있습니다.
<div id="mainframe_VFrameSet0_ChildFrame0_form_Div00" style="left: 141px; top: 504px; width: 400px; height: 115px; background-color: rgb(0, 0, 255); "> <div style="position: absolute; left: 20px; top: 20px; width: 300px; height: 73px; background-color:red; ">Button00 </div> </div>
RP | 작성일 | 설명 |
---|---|---|
76382 | 2017-10-16 | 브라우저에서 마우스 포인터를 빠르게 움직이는 경우 간혹 발생하는 현상입니다. |
iOS 운영체제에서 10키 키보드 사용 시 한글 입력 제약
iOS 운영체제에서는 한글 입력 시 조합 완료에 대한 이벤트를 확인할 수 없습니다. 때문에 캐럿 위치로 조합 완료 여부를 판단하는데, 소프트웨어 키보드 레이아웃을 "10키"로 선택하고 사용하는 경우에는 조합 완료에 대한 정확한 처리가 보장할 수 없습니다. 입력한 한글 문자 입력이 value 속성에 정확하게 반영되지 못하거나 다른 속성, 메소드, 이벤트에 영향을 미칩니다.
RP | 작성일 | 설명 |
---|---|---|
86842 | 2019-09-25 | iOS 운영체제에서 한국어 소프트웨어 키보드 레이아웃을 "10키"로 선택하는 경우 한글 입력 시 제약이 발생하며 정상 동작을 보장하지 않습니다. |
iOS 운영체제에서 WKWebView 관련 제약
iOS 운영체제에서 WKWebView를 사용하면서 CORS(Cross Origin Resource Sharing) 보안 정책 관련 아래와 같은 2가지 제약이 발생합니다.
쿠키 사용 제약
컨텐츠(Run.html) 파일이 로컬 경로(file://)에서 동작하는 경우에는 어떠한 쿠키도 허용되지 않으며 쿠키를 설정할 수 없습니다.
스크립트로 접근(document.cookie)하거나 WKWebView API(WKHTTPCookieStore)를 이용해 쿠키를 설정하는 것도 허용하지 않습니다.
WebBrowser 컴포넌트의 url 속성으로 Local-Url 접근 시 제약
컨텐츠(Run.html) 파일이 로컬 경로(file://)에서 동작하는 경우에는 IFRAME을 사용하는 컴포넌트 사용에 제약이 있습니다.
WebBrowser 컴포넌트에서 callMethod 메소드를 사용해 HTML 파일에 접근하는 기능을 사용할 수 없습니다.
iOS 운영체제 쿠키를 사용해야 하거나 WebBrowser 컴포넌트에서 callMethod를 사용해야 한다면 아래와 같은 방식으로 서버에서 Run.html 파일을 호출할 수 있도록 설정해야 합니다.
1
TypeDefinition에서 Update 정보를 삭제합니다.
또는 넥사크로 스튜디오의 Archive 메뉴에서 생성한 start_ios.json 파일에서 resource 관련 설정을 삭제합니다.
"resource" : { }
2
Run.html 파일을 아래와 같이 수정합니다.
넥사크로 스튜디오에서 Archive 메뉴에서 생성한 Run.zip 파일의 압축을 해제하고 Run.html 파일을 텍스트 편집기에서 실행하고 archivefiles.js 파일을 호출하는 라인을 삭제하고 load 함수 호출 부분에서 Project URL 값이 지정된 부분을 빈값으로 수정합니다.
<script type="text/javascript" src="./archivefiles.js"></script>
>>
삭제
application.load("TEST", "TEST.xadl.js", "http://localhost:8080"); >> application.load("TEST", "TEST.xadl.js", "");
넥사크로 스튜디오에서 Archive 메뉴 실행 시 Project URL 값을 빈값으로 입력해도 Run.html 파일 생성 시 자동으로 기본 주소값을 설정하기 때문에 직접 Run.html 파일을 수정해주어야 합니다.
3
수정한 Run.html 파일을 start_ios.json 파일과 같은 위치에 배치합니다.
Generate 메뉴를 실행해 생성한 파일과 Run.html, start_ios.json 파일이 같은 서버, 같은 위치에 배치되어야 합니다.
4
AppDelegate.m 파일에서 isDirect 옵션을 추가합니다.
앱 빌드 시 설정하는 파일 중 AppDelegate.m 파일에 isDirect 옵션(isDirect=YES)을 추가해줍니다.
@implementation AppDelegate -(NexacroMainViewController*)initMainViewController:(NSInteger)nView { [[NexacroResourceManager sharedResourceManager]setBootstrapURL: @"http://172.10.10.10:8080/nexacro/start_ios.json" isDirect=YES]; return [[AppViewController alloc] initWithLoader:nView]; } @end
RP | 작성일 | 설명 |
---|---|---|
- | 2019-12-24 | 2019년 12월 iOS 최소 사양을 iOS 9으로 변경 공지했습니다. iOS 앱에서 사용하는 WKWebView의 보안 정책에 따른 제약입니다. |
TextArea 컴포넌트에서 스크롤바가 2개 표시되는 오류
넥사크로플랫폼에서는 HTML의 기본 스크롤바를 사용하지 않고 자체 스크롤바를 사용하고 있습니다. 이를 위해 HTML의 기본 스크롤바는 동작하지 않으며 보이지 않도록 처리하고 있습니다.
iOS 13 이상 버전에서 스크롤 기능을 개선하면서 스크롤바 관련 속성을 일부 변경했고 그 영향으로 기존에 보이지 않도록 처리했던 HTML의 기본 스크롤바가 표시되어 2개의 스크롤바가 보입니다.
다른 방법으로 스크롤바가 2개 표시되는 오류는 회피할 수 있으나, 스크롤과 관련된 다른 기능과 동작에 영향을 미치기 때문에 현 상태를 유지하고 제약으로 처리합니다.
RP | 작성일 | 설명 |
---|---|---|
87651 | 2019-11-19 | iOS 13 이상 버전의 운영체제 사용 시 발생하는 제약입니다. |
longpress 대신 touchmove 동작으로 처리되는 현상
iOS 운영체제는 longpress 이벤트를 개발자가 사용할 수 있도록 내어주지 않고 있습니다. 때문에 넥사크로플랫폼에서는 운영체제의 이벤트가 아닌 사용자의 터치 동작 시간을 측정하여 touch 와 longpress를 구분하고 있습니다.
iOS 13의 경우 텍스트 편집 영역을 가지고 있는 컴포넌트(Input DOM)에서 길게 터치 동작을 하는 경우 이전 버전에서 돋보기 UI를 사용하던 것을 커서의 확대로 변경되었습니다. 이전 버전은 돋보기로 전환되는 시간적인 간격이 일반 터치 동작과 구분이 가능한 시간이었으나 iOS 13의 경우에는 touch와 longpress를 구분하기 힘든 짧은 시간으로 변경됐습니다. 넥사크로플랫폼 내부에서 측정하는 시간 간격 값을 조정하여 적용할 경우에는 일반 touch 와 Longpress의 구분이 어렵습니다. iOS 13 운영체제를 사용하는 경우 일반적인 touch 동작과 longpress 동작이 구분할 수 없게 됩니다.
때문에 iOS 13 이상 버전을 사용하는 경우 사용자가 길게 탭 하는 동작을 의도했으나, touchmove 동작으로 처리되면서 step 레이아웃이 이동하는 등의 현상이 발생할 수 있습니다.
RP | 작성일 | 설명 |
---|---|---|
87416 | 2019-11-20 | iOS 운영체제에서 길게 탭(Long-Press)하는 동작에 대한 이벤트를 명확하게 내어주지 않고 있어 발생하는 제약입니다. |
스크롤바가 있는 Form에서 길게 탭 하는 동작 시 화면이 흔들리는 현상
iOS 13 이상 버전에서 스크롤바가 있는 Form에서 텍스트 편집 영역을 가지고 있는 컴포넌트를 선택해 키보드가 표시되고 그 상태에서 컴포넌트의 편집 영역을 길게 탭 하는 경우 화면이 흔들리면서 캐럿이 사라지는 현상이 발생합니다.
같은 조건의 HTML 파일에서도 발생하는 현상으로 제약으로 처리합니다.
RP | 작성일 | 설명 |
---|---|---|
87425 | 2019-11-20 | iOS 13 이상 버전의 운영체제 사용 시 발생하는 제약입니다. |
일본어 입력 확정 전에 클릭 이벤트 함수 내에서 value 값을 확인할 수 없는 현상
iOS 13 이상 버전에서는 스크립트로 입력 중인 문자에 대한 조합 완료 처리를 할 수 없습니다. iOS 운영체제 버전에 따라 조합 완료 처리되는 시점이 달라집니다.
iOS 버전 | 결과값 |
---|---|
13 미만 | ontouchend > 조합 완료 > onclick |
13 이상 | ontouchend > onclick > 조합 완료 |
iOS 13 미만 버전을 사용하는 경우에는 onclick 이벤트 함수 처리 시 조합 완료 상태로 처리되면서 컴포넌트의 value 값을 확인할 수 있었지만, iOS 13 이상 버전에서는 value 값이 undefined로 반환됩니다.
iOS 13 이상 버전을 사용하는 경우 onclick 이벤트 함수 내에서 조합 중인 문자 확인이 필요하다면 text 속성값을 사용할 수 있습니다.
조합 완료 이전에 강제적으로 value 속성값이나 caret 위치 변경 시 오류가 발생할 수 있습니다. 조합 완료 이후에 onchar 이벤트 함수 내에서 변경 처리하는 것을 권장합니다.
RP | 작성일 | 설명 |
---|---|---|
88242 | 2020-01-13 | iOS 13 이상 버전의 운영체제 사용 시 발생하는 제약입니다. |
iPadOS 13 운영체제에서 키보드를 닫으면 입력 컴포넌트 Pseudo가 변경되는 현상
iPadOS 13 운영체제를 사용하는 iPad 단말기에서 텍스트 편집 영역을 가지고 있는 컴포넌트를 탭해서 편집 상태가 되면 키보드가 표시됩니다. 이때 닫기 버튼을 선택하면 키보드가 닫히면서 Body 영역에 blur 이벤트가 발생하며 입력 컴포넌트의 Pseudo가 변경(focused > normal)되는 현상이 발생합니다.
iPadOS 13 운영체제를 사용하는 iPad 단말기에서 키보드를 닫을 때 blur 이벤트가 발생하도록 운영체제의 동작이 변경됐으며 이에 따라 발생하는 현상입니다. 운영체제에서는 blur 이벤트가 키보드가 닫는 동작으로 발생한다는 정보를 제공하지 않기 때문에 넥사크로에서 이를 처리할 수 없습니다. blur 이벤트가 발생하는 경우 Pseudo가 변경되는 것은 정상 동작입니다.
운영체제 | 키보드 닫기 버튼 선택 시 |
---|---|
iOS 13 또는 iPadOS 13 미만 | blur 이벤트 발생하지 않음 |
iPadOS 13 | blur 이벤트 발생 |
RP | 작성일 | 설명 |
---|---|---|
88941 | 2020-04-02 | iPadOS 13 버전 운영체제에서 발생하는 현상입니다. |
imemode 속성값이 적용되지 않는 현상
윈도우 8 이후 버전의 운영체제에서는 IME 적용 방식이 변경되어 응용 프로그램마다 다른 입력 방식이 설정되며 응용 프로그램의 포커스가 바뀔 때 imemode 속성값이 적용되지 않습니다.
예를 들어 넥사크로 앱 실행 중에 메모장을 열어서 다른 작업을 하고 다시 넥사크로 앱으로 돌아왔을 때 첫 번째 포커스를 가지는 컴포넌트의 imemode 속성값이 적용되지 않습니다 (첫 번째 컴포넌트 이후 다른 컴포넌트에 포커스를 옮길 때에는 imemode 속성값이 적용됩니다).
alert, confirm 같은 창을 띄우거나 넥사크로 앱 내에서 다른 프로세스로 팝업창을 띄우고 다시 넥사크로 앱으로 포커스를 이동한 때도 마찬가지입니다.
넥사크로 앱 내에서 imemode 속성값을 유지하기 위해서는 사용자가 직접 관련 속성을 변경해주어야 합니다. 윈도우 10 운영체제에서는 [고급 키보드 설정 > 입력 방법 전환 > 각 앱 창에 다른 입력 방법을 직접 사용] 항목을 아래 그림과 같이 선택해주어야 합니다 (선택되지 않은 상태가 기본 설정입니다).
RP | 작성일 | 설명 |
---|---|---|
83862 | 2020-03-27 | 운영체제 특성에 따른 제약사항입니다. 사용자가 운영체제 설정을 변경한 경우에만 대응할 수 있습니다. |
컴포넌트의 onmousedown 이벤트 핸들러 함수 내에서 alert, confirm 메소드 실행 시 의도치 않은 동작
IE 브라우저를 사용하는 경우에는 컴포넌트의 onmousedown 이벤트 핸들러 함수 내에서 alert, confirm 메소드 실행 시 다른 응용프로그램으로 강제 전환되는 현상이 발생합니다.
Tab 컴포넌트의 onchanged 이벤트는 onmousedown 이벤트와 내부적으로 연결되어 있으며 같은 제약을 가지고 있습니다.
RP | 작성일 | 설명 |
---|---|---|
93892 | 2022-01-26 | IE 브라우저 기능 제약입니다. |
특정 환경에서 일본어 IME 사용 시 제약
입력을 제한하는 속성(maxlength, inputtype 등)값을 설정한 Edit, TextArea 컴포넌트, MaskEdit 컴포넌트, MaskEditControl을 포함한 컴포넌트(Calendar, Grid 컴포넌트 등)에서 사용자가 입력하고자 하는 값과 다른 값이 입력되는 현상입니다.
윈도우 10 2004 버전 업데이트 시 설치된 Microsoft Japanese IME의 영향에 의한 제약 사항입니다.
해당 문제는 윈도우 운영체제 버전(IME 버전), 윈도우 운영체제에서 "이전 버전의 Microsoft IME 사용" 적용 여부, 브라우저 실행 환경 등에 따라 발생 현상이 다르게 나타날 수 있습니다.
실행 환경에 따라 일본어 IME 사용 시 아래와 같은 입력 오류 현상이 발생할 수 있습니다.
입력한 문자가 중복되어 입력
기존에 입력한 문자가 삭제
숫자키 입력 시 다른 값이 입력
RP | 작성일 | 설명 |
---|---|---|
94158 | 2022-11-04 | 특정 환경에서 일본어 IME 사용 시 정상적으로 값을 입력하지 못하는 현상입니다. |
브라우저별 기능 차이
Edit 영역을 가지는 컴포넌트에서 커서 표시 방식의 차이
Edit 영역을 가지는 컴포넌트의 readonly 속성값이 true인 경우 브라우저에 따라 커서가 표시되는 방식이 다릅니다. 커서 표시 여부와 상관없이 readonly 속성값은 적용되며 Edit 영역의 텍스트를 사용자가 편집할 수 없습니다.
브라우저 | 처리 방식 |
---|---|
IE | 커서가 표시되며 마우스 클릭 시 커서 위치가 이동 |
[Runtime], Chrome, Edge, Firefox, Safari | 커서가 표시되지 않음 |
RP | 작성일 | 설명 |
---|---|---|
37637 | 2014-09-24 | 개별 브라우저의 동작 방식 차이입니다. |
2020-04-21 | Firefox 72.0.2 버전에서 커서가 표시되지 않습니다. 이에 따라 제약사항을 수정합니다. |
Style 제약 사항
Style 속성 중 넥사크로플랫폼에서 지원하지 않거나 일부 브라우저만 지원하는 속성은 아래와 같습니다.
속성 | 지원제약 | 참고 |
---|---|---|
blur | 미지원 | 브라우저 별 동작, 지원 여부가 달라 지원할 수 없는 속성입니다. |
glow | 미지원 | 브라우저 별 동작, 지원 여부가 달라 지원할 수 없는 속성입니다. |
shadow | IE8 미지원 | |
gradation > radial | 미지원 | |
gradation > peglist | IE8,9 미지원 | |
opacity | IE8 미지원 | |
background > imageedge | 입력된 값에 따라 정상적으로 동작하지 않을 수 있습니다. 정상적으로 동작하지 않은 경우에는 브라우저에 따라 보이는 형태가 다를 수 있습니다. | |
cursor | [Runtime], Firefox 미지원 | 마우스 커서를 움직이지 않고 다른 속성이 바뀌면서 mouseover element가 변경되는 경우 cursor type이 변경되는 기능이 정상적으로 동작하지 않을 수 있습니다. |
RP | 작성일 | 설명 |
---|---|---|
40056 | 2015-02-26 | background > imageedge |
40862 | 2015-03-24 | gradation > radial |
68620 | 2016-08-25 | blur |
68510 | 2016-09-29 | shadow |
Grid 컴포넌트에서 Cell에 표시되는 텍스트 정렬 방식의 차이
Grid 컴포넌트 Cell 오브젝트의 halign 속성값이 "center"인 경우 화면에 표시되는 Cell 영역 내에서 가운데 정렬을 런타임과 웹브라우저가 다르게 처리합니다.
RP | 작성일 | 설명 |
---|---|---|
47603 | 2016-03-30 | halign 속성 적용 시 생성되는 HTML에서 whitespace pre 옵션을 사용하는데 화면에 표시되는 Cell 영역의 크기와 다르게 텍스트 영역을 기준으로 가운데 정렬을 처리합니다. 런타임 브라우저에서는 내부적으로 정렬 상태를 조정하는 기능이 추가되어 다르게 표시됩니다. |
hotkey 속성값이 적용되지 않는 현상
브라우저에서 사용하는 단축키를 컴포넌트의 hotkey 속성값으로 지정한 경우에 브라우저에 따라 다르게 동작할 수 있습니다.
RP | 작성일 | 설명 |
---|---|---|
48488 | 2016-07-05 | 개별 브라우저의 동작 방식 차이입니다. 브라우저에서 사용하는 단축키를 중복해서 hotkey 속성값으로 지정하지 않는 것을 권장합니다. |
FileUpload 컴포넌트 사용 시 파일 경로 표시의 차이
FileUpload 컴포넌트의 multiselect 속성값을 true로 지정한 경우 브라우저에 따라 경로를 다른 형식으로 표시합니다.
브라우저 | 처리 방식 |
---|---|
[Runtime] | 파일 경로 + 파일명 |
Chrome, Edge, Firefox, IE, Safari | 파일명 |
FileUpload 컴포넌트의 multiselect 속성값을 false로 지정한 경우 브라우저에 따라 경로를 다른 형식으로 표시합니다.
브라우저 | 처리 방식 |
---|---|
[Runtime] | 파일 경로 + 파일명 |
Chrome, Edge, Firefox, IE, Safari | 가상 경로(fakepath) + 파일명 |
IE 브라우저의 경우 사용자의 옵션 설정에 따라 multiselect 속성값을 false로 지정한 경우에 가상 경로가 아닌 실제 파일 경로로 표시될 수 있습니다.
RP | 작성일 | 설명 |
---|---|---|
69218 | 2016-09-06 | 개별 브라우저의 동작 방식 차이입니다. 파일 경로 표시가 다르더라도 파일을 업로드하는 기능은 정상 처리됩니다. |
2017-06-27 | multiselect 속성값을 false로 지정했을 때 경로 표시에 대한 설명을 추가했습니다. | |
81686 | 2018-09-05 | multiselect 속성값을 false로 지정했을 때 경로 표시에 대한 설명을 수정했습니다. Edge, IE 브라우저에서 파일 경로가 아닌 가상 경로로 표시되고 있습니다. |
open 메소드 실행 시 중복된 자식 프레임 이름 처리 제약
IE 환경에서 application 오브젝트의 open 메소드 실행 시 자식 프레임 이름(ID)을 지정하는 파라미터(strName)을 같은 값으로 반복해서 실행했을 때 스크립트 에러가 발생하며 팝업창이 표시되지 못합니다.
런타임이나 다른 브라우저는 같은 조건에서 스크립트 에러가 발생하지 않는데 팝업 윈도우를 처리하는 방식이 브라우저마다 다르므로 발생하는 현상입니다.
브라우저 | 동기 방식 | 처리 방식 |
---|---|---|
[Runtime] | 동기 | 팝업 윈도우을 순차적으로 처리 |
Chrome, Edge(80 이상 버전) | 비동기 | 최종적으로 실행한 팝업 윈도우에 대한 자바스크립트만 처리 |
Firefox | 비동기 | 최초로 실행한 팝업 윈도우에 대한 자바스크립트만 처리 |
IE, Edge(44 이하 버전) | 비동기 | 중복해서 생성되는 모든 팝업 윈도우에 대한 자바스크립트를 처리. 이 과정에서 스크립트 에러가 발생합니다. 또한 Form 로딩이 정상적으로 수행되지 못해 화면에 아무것도 표시하지 못합니다. |
팝업 윈도우 처리 시 자식 프레임의 ID 처리 방식은 브라우저마다 다르며 브라우저 버전에 따라 달라질 수 있습니다. 개발 시 중복된 ID로 처리되지 않도록 주의해야 합니다.
RP | 작성일 | 설명 |
---|---|---|
70213 | 2016-12-05 | 개별 브라우저의 동작 방식 차이입니다. |
2020-04-21 | Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다. Edge 버전에 따라 동작 방식이 다릅니다. |
함수 내 alert, confirm 메소드가 포함된 경우 스크립트 처리 방식 차이
Chrome, Edge(80 이상 버전), Opera 브라우저를 사용하는 경우에는 함수 내에 alert, confirm 메소드가 포함된 경우에는 다른 코드를 먼저 처리하지 않습니다.
예를 들어 아래 코드의 경우 "TEST"라는 문자열을 먼저 출력하고 alert 메소드를 실행하도록 의도했지만, Chrome 브라우저에서는 alert 메소드가 먼저 실행되고 alert 창을 닫기 전에는 "TEST"라는 문자열을 출력하지 않습니다.
브라우저 | 처리 방식 |
---|---|
[Runtime], Edge(44 이하 버전), Firefox, IE | "TEST" 문자열 출력 후 alert 메소드 실행 |
Chrome, Edge(80 이상 버전), Opera | alert 메소드 실행 후 alert 창을 닫으면 "TEST' 문자열 출력 |
function fn_click() { document.write("TEST"); alert("TEST"); }
RP | 작성일 | 설명 |
---|---|---|
71291 | 2017-01-09 | 개별 브라우저의 동작 방식 차이입니다. |
2020-04-21 | Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다. Edge 버전에 따라 동작 방식이 다릅니다. |
컴포넌트의 visible 속성 변경 시 느리게 적용되는 현상
스크립트로 컴포넌트의 visible 속성값을 변경하는 경우 화면에 보이는 컴포넌트가 변경되기 전에 다음 스크립트 구문이 먼저 처리될 수 있습니다. 사용하는 PC의 하드웨어 성능이 느린 환경에서 IE 브라우저를 사용하는 경우에 자주 발생하는 현상입니다.
RP | 작성일 | 설명 |
---|---|---|
71551 | 2017-01-31 | visible 속성값을 변경했을 때 HTML 내 DOM 트리에 속성을 반영하는데 이 과정에서 하드웨어나 브라우저에 따라 반영 속도의 차이가 발생할 수 있습니다. 순차적으로 스크립트 구문이 처리되도록 조건을 설정하거나 TimerEvent를 사용해 적용 시점을 조정할 수 있습니다. |
onmouseenter, onmousemove 이벤트 발생 순서가 다른 현상
onmouseenter, onmousemove 이벤트를 가지는 컴포넌트의 경우 이벤트 발생 순서가 브라우저에 따라 다릅니다. 브라우저에 따른 이벤트 발생 순서는 아래와 같습니다.
브라우저 | 처리 방식 |
---|---|
IE, Edge(44 이하 버전) | onmousemove > onmouseenter |
[Runtime], Chrome, Edge(80 이상 버전), Firefox, Safari | onmouseenter > onmousemove |
RP | 작성일 | 설명 |
---|---|---|
71731 | 2017-02-10 | 개별 브라우저의 동작 방식 차이입니다. |
2020-04-21 | Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다. Edge 버전에 따라 동작 방식이 다릅니다. |
trackPopup 메소드 실행 시 기준 영역
trackPopup 메소드 실행 시 컴포넌트(PopupDiv, PopupMenu)를 띄워주는 기준 영역이 다릅니다. 런타임은 타이틀바를 포함한 프레임 영역을 기준 영역에 포함하는 데 반해 HTML5는 프레임 영역을 제외하고 콘텐츠가 보이는 영역만 기준 영역으로 처리합니다. 그래서 같은 좌푯값을 지정하더라도 showtitlebar 속성값이 true인 경우에는 컴포넌트를 띄우는 위치가 달라집니다.
대체 스크립트 | 운영 중인 애플리케이션에서 작성한 스크립트가 제대로 동작하지 않을 수 있어 메소드 기능을 수정해 런타임, HTML5 버전 간 차이를 수정할 수 없습니다. 스크립트 작성 시 trackPopupByComponent 메소드를 사용하거나 런타임 프레임 영역 값을 제거하도록 계산해 같은 위치에 컴포넌트를 띄울 수 있습니다. |
---|
// trackPopupByComponent 메소드 사용 var x = this.Button00.getOffsetLeft(); var y = this.Button00.getOffsetBottom(); this.pdiv.trackPopupByComponent(this, x, y);
// 런타임 프레임 영역값 제거 var objBut = this.Button00; // 컴포넌트를 띄울 때 기준이 되는 Button var v_nX = system.clientToScreenX(objBut, 0) - system.clientToScreenX(application.mainframe, 0); var v_nY = system.clientToScreenY(objBut, parseInt(objBut.height)) - system.clientToScreenY(application.mainframe, 0); var v_sRet = this.pdiv.trackPopup (v_nX, v_nY);
RP | 작성일 | 설명 |
---|---|---|
71863 | 2017-03-14 | 런타임, 웹브라우저 동작 방식 차이입니다. |
nexacro.getTextSize 결과값 처리 차이
getTextSize 메소드는 파라미터값에 따라 텍스트의 크기를 계산해주는 메소드입니다. 하지만 실행하는 브라우저에 따라 결과값의 차이가 발생합니다.
브라우저에 따라 결과값이 달라지며 파라미터값에 따라 달라질 수 있습니다. 아래 표는 특정 파라미터값을 지정한 경우 브라우저별 결과값의 차이를 참고용으로 기재한 것입니다.
this.Static00.set_text("nexacro"); this.Static00.style.set_font("10 Arial"); var textSize = nexacro.getTextSize(this.Static00.text, this.Static00.style.font, null, "none", 0); trace(textSize.nx, textSize.ny); // 결과값
브라우저 | 결과값 |
---|---|
IE11 | 47, 15 |
Edge(44 이하 버전) | 47.41999816894531,15 |
[Runtime], Safari | 46, 16 |
Firefox | 46, 15 |
Chrome, Edge(80 이상 버전) | 47.42295837402344, 15 |
RP | 작성일 | 설명 |
---|---|---|
72660 | 2017-06-20 | 개별 브라우저의 동작 방식 차이입니다. |
2017-10-10 | 예제 코드 추가 | |
2020-04-21 | Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다. Edge 버전에 따라 동작 방식이 다릅니다. |
특정 오브젝트 id를 브라우저 내부 오브젝트로 처리
DeviceAPI 오브젝트 중 Geolocation을 사용할 때 TypeDefinition에 해당 오브젝트의 ID값을 "Geolocation"로 저장한 경우 브라우저에서 애플리케이션 실행 시 해당 오브젝트를 찾지 못하고 브라우저 내부 오브젝트로 처리하는 현상이 발생합니다.
웹브라우저에서 "Geolocation"라는 이름을 내부 오브젝트로 사용하고 있어 발생하는 현상입니다. ID값을 "NexacroGeolocation"처럼 다른 이름으로 사용하면 정상적으로 사용할 수 있습니다.
"Geolocation" 뿐 아니라 다른 ID 값도 브라우저 내에서 사용하고 있는 오브젝트와 중복되는 경우 정상적으로 처리되지 못할 수 있습니다.
RP | 작성일 | 설명 |
---|---|---|
75116 | 2017-08-02 | 개별 브라우저의 동작 방식 차이입니다. IE, Edge 브라우저 사용 시 발생하는 현상입니다. |
2020-03-24 | 2020년 2월 최신 브라우저 기준으로 IE, Edge 외 다른 웹브라우저에서도 에러가 발생하는 현상을 확인했습니다. | |
89329 | 2020-04-22 | iOS, iPadOS Runtime 실행 시에도 WKWebView 내부 오브젝트와 충돌하는 에러가 발생하는 현상을 확인했습니다. 에러 발생은 운영체제 버전에 따라 다를 수 있습니다. |
synchronous 모드에서 transaction 메소드 실행 시 제약
transaction 메소드의 파라미터 중 bAsync 항목값을 false로 지정해 synchronous 모드에서 실행하는 경우 브라우저에 따라 애플리케이션이 정상적으로 동작하지 않을 수 있습니다.
브라우저 | 관련 오류 |
---|---|
chrome, Edge, Firefox | deprecation 메시지 출력 |
IE | transaction 종료 후 포커스를 잃어버리는 현상 |
RP | 작성일 | 설명 |
---|---|---|
74564 | 2017-07-25 | 개별 브라우저의 동작 방식 차이입니다. synchronous 모드는 성능상의 문제로 일부 브라우저에서 deprecation으로 구분하고 있으며 브라우저 버전에 따라 추가적인 기능 제약이 있을 수 있습니다. |
2020-04-21 | Edge 브라우저 44.18362 버전에서 deprecation 메시지를 출력하고 있습니다. 이에 따라 제약사항을 수정합니다. |
Edit 컴포넌트에 입력된 글자에 깜빡임 현상
Edit 컴포넌트에 텍스트 입력 후 포커스를 다른 곳으로 이동했다가 다시 Edit 컴포넌트에 포커스를 옮겼을 때 입력된 텍스트가 깜빡이거나 움직이는듯한 현상이 나타납니다.
RP | 작성일 | 설명 |
---|---|---|
75016 | 2017-07-27 | 개별 브라우저의 동작 방식 차이입니다. 윈도우 7 운영체제에서 IE 브라우저 사용 시 발생하는 현상입니다. |
Grid 컴포넌트에 표시되는 글자 일부가 브라우저 확대 기능 실행 시 보이지 않는 현상
Grid 컴포넌트 Cell 오브젝트의 align 속성값이 "right"로 지정하고 브라우저 확대 기능을 사용하는 경우 표시되는 글자 일부가 보이지 않는 현상이 나타납니다.
RP | 작성일 | 설명 |
---|---|---|
75097 | 2017-08-07 | 개별 브라우저의 동작 방식 차이입니다. IE, Edge 브라우저 사용 시 발생하는 현상입니다. 같은 조건에서 font 속성값에 따라 현상이 나타나지 않는 경우도 있습니다. |
2020-04-21 | Edge 브라우저 44.18362 버전에서 정상 동작 확인했습니다. 이에 따라 해당 제약에서 Edge 브라우저는 제외합니다. |
Safari 브라우저에서 setPrivateProfile, getPrivateProfile 메소드 실행 시 기능 제약
Safari 브라우저 사용 시 Application 오브젝트의 setPrivateProfile, getPrivateProfile 메소드를 실행했을 때 스크립트 에러가 발생합니다. 해당 에러는 아래와 같은 경우 발생하며 Safari 브라우저 운영정책에 따라 발생하는 에러입니다.
개인정보 보호 브라우징 기능이 켜져 있는 경우
RP | 작성일 | 설명 |
---|---|---|
43492 42186 | 2015-06-25 | Safari 브라우저 사용 시 특정 옵션을 설정한 경우 localStorage 기능을 사용할 수 없습니다. 해당 옵션을 적용하지 않는 경우에는 정상적으로 메소드 기능을 사용할 수 있습니다. 해당 제약사항은 iOS, 윈도우, 맥 운영체제의 Safari 브라우저에서 발생합니다. |
Edit 컴포넌트 위에 다른 컴포넌트가 겹쳐졌을 때 캐럿이 투과되어 표시되는 현상
Edit 컴포넌트 위에 다른 컴포넌트가 겹쳐진 상태에서 아래에 위치한 Edit 컴포넌트로 포커스를 옮기고 캐럿이 표시되면 위에 겹쳐진 컴포넌트를 투과해 캐럿이 표시되는 현상이 발생합니다.
RP | 작성일 | 설명 |
---|---|---|
75777 | 2017-09-05 | IE, Edge 브라우저 사용 시 발생하는 현상입니다. 해당 브라우저에서 DIV 태그로 감싸고 있는 INPUT 태그를 처리하면서 해당 현상이 발생합니다. |
2020-04-21 | Edge(80 이상 버전) 브라우저에서는 발생하지 않는 현상입니다. 현상이 발생하는 Edge 브라우저 버전 표기를 추가했습니다. |
특정 스크립트가 일정 시간 이상 프로세스를 점유하고 있는 경우 중간에 발생하는 이벤트가 처리되지 못하는 제약
IE 브라우저에서 Form 오브젝트의 sleep 메소드를 실행하거나 For 문처럼 반복을 처리하는 스크립트가 일정 시간 프로세스를 점유하고 있는 경우 중간에 발생하는 다른 이벤트를 처리하지 못합니다.
예를 들어 sleep 메소드가 실행되고 있는 중에 Button 컴포넌트를 클릭해 이벤트를 실행하는 경우 sleep 메소드 실행 시 파라미터로 지정한 시간이 지나면 Button 컴포넌트의 이벤트를 처리합니다. 하지만 IE 브라우저의 경우에는 Button 이벤트가 처리되지 않습니다.
RP | 작성일 | 설명 |
---|---|---|
75144 | 2017-08-18 | IE 브라우저 사용 시 발생하는 현상입니다. IE 브라우저에서 코드 블로킹(Code Blocking)이 발생하는 경우, Body 영역의 포커스를 잃어버리면서 이벤트가 삭제됩니다. |
onbeforeexit 이벤트 내 스크립트 실행 시 제약
Application 오브젝트의 onbeforeexit 이벤트 함수 내 작성한 스크립트 중 alert, confirm 메소드가 브라우저에 따라 처리되지 않을 수 있습니다. 브라우저 내에서 이벤트는 처리하지만, 함수 내 작성된 해당 메소드는 처리하지 않습니다.
브라우저 | 결과값 |
---|---|
Chrome, Edge, Firefox, | onbeforeexit 이벤트 함수 내 해당 메소드 무시 |
[Runtime], IE, Safari | onbeforeexit 이벤트 함수 내 해당 메소드 처리 |
onbeforeexit 이벤트는 HTML에서 beforeunload 이벤트를 받아서 처리하고 있습니다.
beforeunload 이벤트 내에서 해당 메소드를 무시하도록 HTML5 스펙에 권고하고 있으며 브라우저에 따라 처리방식이 달라 동작 방식 차이가 발생합니다.
https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload
RP | 작성일 | 설명 |
---|---|---|
76480 | 2017-10-10 | 개별 브라우저의 동작 방식 차이입니다. |
컴포넌트의 enable 속성값을 false로 지정했을 때 displaynulltext 속성값이 적용되지 못하는 현상
displaynulltext 속성값을 가지는 컴포넌트의 value 속성값이 null인 경우 포커스가 없는 경우에는 displaynulltext 속성값을 화면에 표시합니다. 하지만 일부 브라우저에서는 컴포넌트에 포커스가 있는 상태에서 스크립트로 enable 속성값을 false로 변경하는 경우 포커스는 다음 컴포넌트로 이동하지만 displaynulltext 속성값을 화면에 표시하지 못합니다.
사용자가 마우스 클릭 또는 Tab 키를 입력해 포커스를 이동하지 않고 스크립트에서 enable 속성값이 바뀌면서 포커스가 이동하는 경우에는 브라우저에서 blur 이벤트가 발생하고 이를 넥사크로플랫폼에서 처리하는데 일부 브라우저에서는 blur 이벤트를 발생시키지 않기 때문에 발생하는 차이입니다.
브라우저 | 결과값 |
---|---|
IE, Firefox | enable 속성값 변경 시 브라우저에서 blur 이벤트 지원하지 않으며 포커스가 다른 컴포넌트로 이동해도 displaynulltext 속성값 표시할 수 없음 |
[Runtime], Chrome, Edge | enable 속성값 변경 시 브라우저에서 blur 이벤트 처리하며 포커스가 다른 컴포넌트로 이동하면 displaynulltext 속성값 표시 |
RP | 작성일 | 설명 |
---|---|---|
76456 | 2017-10-10 | 개별 브라우저의 동작 방식 차이입니다. |
2020-04-21 | Edge 브라우저 44.18362 버전에서 정상 동작 확인했습니다. 이에 따라 해당 건은 제약에서 제외합니다. |
텍스트 편집 영역을 가지고 있는 컴포넌트를 빠르게 이동하는 경우 포커스가 이동되지 않는 현상
iOS 운영체제를 사용하는 디바이스에서 Safari 브라우저를 사용하는 경우 Edit 컴포넌트처럼 텍스트 편집 영역을 가지고 있는 컴포넌트를 터치 동작으로 빠르게 이동할 때 포커스는 이동하지 않지만 pseudo 상태는 변경되는 현상이 있습니다.
터치 동작을 빠르게 이동할 때 포커스가 이동하지 않는 현상은 iOS 운영체제에서 Safari 브라우저의 제약사항입니다. 넥사크로플랫폼에서는 브라우저에서 터치 이벤트가 발생할 때 pseudo 상태를 변경하고 있는데 Safari 브라우저에서 터치 이벤트는 발생하지만 포커스를 이동하지 않고 있기 때문에 pseudo 상태가 변경되는 현상도 같이 보이게 됩니다. 브라우저에서는 정상적으로 정보를 전달하면서 포커스가 이동하지 못하는 것이기 때문에 넥사크로플랫폼에서 이를 보정할 수 없습니다.
RP | 작성일 | 설명 |
---|---|---|
77192 | 2017-11-27 | iOS 운영체제에서 Safari 브라우저 사용 시 발생하는 제약사항입니다. pseudo 상태는 정상적으로 브라우저에서 발생하는 이벤트를 처리하면서 발생하는 현상이며 브라우저 제약사항이 해소되면 더 이상 문제가 되지 않습니다. |
Div 컴포넌트 내 텍스트 편집 영역을 가지고 있는 컴포넌트의 일부만 보이는 경우 해당 컴포넌트로 포커스 이동 시 깜빡이는 현상
IE 브라우저에서는 Div 컴포넌트 내 텍스트 편집 영역을 가지고 있는 컴포넌트의 일부가 감추어져 있는 경우 해당 컴포넌트로 포커스가 이동하면 컴포넌트가 모두 보이도록 내부적으로 스크롤 위치를 이동합니다. 넥사크로플랫폼에서는 사용자가 의도하지 않은 스크롤 위치 이동 시에는 원래의 위치로 되돌리고 있는데 이 과정에서 컴포넌트가 깜빡이는 것처럼 보일 수 있습니다.
일반적인 화면 구성 시에는 Div 컴포넌트 내에 컴포넌트가 감추어지도록 배치하지 않지만 사용자가 Div 컴포넌트의 크기를 조정할 수 있도록 구성한 경우에는 Div 컴포넌트의 크기 조정 시 계속 깜빡임 현상이 발생할 수 있습니다.
RP | 작성일 | 설명 |
---|---|---|
76992 | 2017-11-28 | IE 브라우저(8~11) 사용 시 발생하는 제약사항입니다. |
텍스트 편집 영역을 가지고 있는 컴포넌트에 포커스가 옮겨지는 시점에 waitcursor가 표시되는 경우 캐럿 위치가 옮겨지는 현상
텍스트 편집 영역을 가지고 있는 컴포넌트에 마우스를 클릭해 포커스를 옮기는 시점과 transaction 메소드나 setWaitCursor 메소드를 호출하는 시점이 겹치는 경우 마우스를 클릭한 위치에 캐럿이 표시되지 않고 편집 영역 마지막 위치로 캐럿 위치가 옮겨지는 현상이 발생합니다.
IE 브라우저에서만 발생하는 현상이며 waitcursor를 표시하기 위한 레이어가 활성화되면서 텍스트 편집 영역과 겹치는 경우 발생하는 현상입니다. 해당 현상은 IE 브라우저에서 INPUT 태그 위에 DIV 태그가 겹쳐지는 경우에 발생합니다.
RP | 작성일 | 설명 |
---|---|---|
77440 | 2017-12-14 | 개별 브라우저의 동작 방식 차이입니다. IE 브라우저 사용 시 발생하는 현상입니다. |
드래그앤드롭 형태로 컴포넌트 간 포커스 이동 시 캐럿만 이동하는 현상
텍스트 편집 영역을 가지고 있는 컴포넌트에서 마우스 오른쪽 버튼을 누른 상태에서 드래그로 다른 텍스트 편집 영역을 가지고 있는 컴포넌트로 마우스 포인터를 이동한 후 마우스 버튼을 떼면 캐럿은 이동하지만 포커스는 옮겨지지 못하는 현상이 발생합니다.
RP | 작성일 | 설명 |
---|---|---|
77433 | 2017-12-27 | 개별 브라우저의 동작 방식 차이입니다. IE 브라우저 사용 시 발생하는 현상입니다. |
컴포넌트의 enable 속성값이 false인 경우 이벤트가 상위 컴포넌트로 전달되는 방식 차이
텍스트 편집 영역을 가지고 있는 컴포넌트의 enable 속성값이 false인 경우 해당 영역을 마우스로 클릭했을 때 이벤트의 상위 컴포넌트(Div 또는 Form)로 전달되는 동작이 브라우저에 따라 다르게 처리됩니다.
브라우저 | 처리 방식 |
---|---|
Firefox, Edge(44 이하 버전) | 상위 컴포넌트로 이벤트 전달하지 않음 |
[Runtime], Chrome, Edge(80 이상 버전), IE, Safari | 상위 컴포넌트로 이벤트 전달함 |
아래와 같이 작성한 HTML 문서로 테스트해볼 수 있습니다. 첫 번째 INPUT 요소를 클릭했을 때 상위 컴포넌트로 이벤트를 전달하는 브라우저는 div 태그의 onmousedown 이벤트를 처리하지만 Firefox, Edge 브라우저에서는 이벤트를 처리하지 못합니다.
<div onmousedown="console.log('div onmousedown')"> <input type="text" disabled> <input type="text"> </div>
컴포넌트의 텍스트 편집 영역에서만 해당 제약이 발생합니다. 예를 들어 Calendar 컴포넌트를 사용하는 경우 텍스트 편집 영역 클릭 시에는 이벤트가 전달되지 않지만 컴포넌트 내 Button이나 DatePicker 영역을 클릭하는 경우에는 이벤트가 전달됩니다.
RP | 작성일 | 설명 |
---|---|---|
77734 | 2018-01-16 | 개별 브라우저의 동작 방식 차이입니다. |
2020-04-21 | Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다. Edge 버전에 따라 동작 방식이 다릅니다. |
mouseover 스타일이 mouseout 이벤트 발생 후에도 남아 있는 현상
macOS 운영체제에서 Safari 브라우저 사용 시 mouseover 스타일로 배경색을 지정하고 마우스를 해당 영역 위로 가져갔을 때 변경된 배경색이 마우스 커서를 이동해도 원래 상태로 돌아오지 않는 현상이 발생합니다.
해당 현상은 브라우저 특성으로 인한 제약으로 다른 웹 애플리케이션에서도 발생하는 현상입니다.
https://bugs.webkit.org/show_bug.cgi?id=4117
RP | 작성일 | 설명 |
---|---|---|
81852 82067 | 2018-10-16 | macOS 운영체제에서 Safari 브라우저 사용 시 발생하는 제약입니다. |
TextArea 컴포넌트에 텍스트 입력 후 문자열 뒤 공백 영역 클릭 시 다음 행 문자열 앞으로 캐럿이 위치하는 현상
TextArea 컴포넌트에 2줄 이상의 텍스트(줄바꿈이 있는)가 입력된 상태에서 문자열 뒤쪽 공백 영역 클릭 시 해당 행이 아닌 다음 행 앞쪽에 캐럿이 위치하는 현상입니다. IE8 브라우저에서 주로 발생하며 IE9, IE10, IE11 브라우저에서도 간혹 발생하는 현상입니다.
위의 그림에서 (1) 영역을 마우스 버튼으로 클릭하는 경우 3번째 행 텍스트의 마지막 위치인 (2) 위치에 캐럿이 위치하게 됩니다. 하지만 IE 브라우저에서는 4번째 행 텍스트 앞부분인 (3) 위치에 캐럿이 위치하는 현상이 간혹 발생합니다.
RP | 작성일 | 설명 |
---|---|---|
82352 | 2018-10-24 | IE 브라우저 사용 시 발생하는 제약입니다. |
WebBrowser 컴포넌트의 배치 순서 변경 시 리로딩되는 제약
WebBrowser 컴포넌트의 bringToFront 또는 sendToBack 메소드를 실행해 배치 순서가 바뀌는 경우 현재 로딩된 웹 콘텐츠가 리로딩되는 현상이 있습니다. WebBrowser 컴포넌트가 웹브라우저에서 동작할 때는 iframe 태그로 변환되는데 iframe 태그의 순서나 부모 노드가 변경되는 경우 url 속성값으로 지정된 웹 콘텐츠가 리로딩되는 것은 웹브라우저의 기본 스펙입니다.
Div 컴포넌트 안에 WebBrowser 컴포넌트가 배치된 경우에는 Div 컴포넌트의 bringToFront 또는 sendToBack 메소드를 실행 시 WebBrowser 컴포넌트의 웹 콘텐츠가 리로딩됩니다.
해당 건에 대한 이슈는 등록되어 있지만, 지원하지 않는 것으로 답변이 올라와 있습니다.
웹브라우저에 따라 지원 여부가 변경될 수는 있습니다.
Moving an IFRAME within the DOM tree results in reloading of content
https://bugs.webkit.org/show_bug.cgi?id=13574
런타임 환경에서는 리로딩 없이 배치 순서를 변경합니다. 하지만, 런타임과 HTML5를 모두 지원하는 애플리케이션의 경우에는 배치 순서 변경 시 리로딩되는 제약을 검토해야 합니다.
RP | 작성일 | 설명 |
---|---|---|
73441 | 2017-05-19 | 웹브라우저 기본 스펙으로 답변 처리했습니다. |
82799 | 2018-11-14 | 요청에 따라 제약사항으로 등록합니다. |
FileUpload 컴포넌트에서 파일 선택 대화상자에서 취소 버튼 클릭 시 동작이 다른 현상
FileUpload 컴포넌트에서 [찾기] 버튼을 클릭해 파일 선택 대화상자를 열어 파일을 선택합니다. 그리고 다시 [찾기] 버튼을 클릭한 후 파일 선택 대화상자에서 파일을 선택하지 않고 [취소] 버튼을 클릭하고 창을 닫으면 이전 선택한 파일 정보가 삭제됩니다.
[취소] 버튼 클릭 후 이전 선택한 파일이 취소되기 때문에 filelist 속성에서 해당 값이 삭제되고 onitemchanged 이벤트가 발생합니다. 해당 현상은 구글 크롬 브라우저에서 실행 시에만 발생합니다.
-- 파일 선택 시 onitemchanged 이벤트 발생 onitemchanged / this.FileUpload00.filelist[e.index]: [object VirtualFile] onitemchanged / e.newvalue: C:\fakepath\a.png onitemchanged / e.oldvalue: -- 파일을 선택하지 않고 [취소] 버튼 클릭 시 onitemchanged 이벤트 발생 onitemchanged / this.FileUpload00.filelist[e.index]: undefined onitemchanged / e.newvalue: onitemchanged / e.oldvalue: C:\fakepath\a.png
브라우저 | 처리 방식 |
---|---|
Chrome, Edge(80 이상 버전) | [취소] 버튼 클릭 시 이전 선택한 파일 정보를 삭제합니다. [취소] 버튼 클릭 시 onitemchanged 이벤트가 발생합니다. |
[Runtime], IE, Edge(44 이하 버전), Firefox, Safari | [취소] 버튼 클릭 시 아무 동작도 하지 않습니다. |
해당 건에 대한 이슈는 등록되어 있지만, 브라우저의 기능으로 답변이 올라와 있습니다.
https://bugs.chromium.org/p/chromium/issues/detail?id=2508
해당 동작은 크롬 브라우저에서 <input type="file"> 형태의 태그 실행 시에도 확인할 수 있습니다.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file
RP | 작성일 | 설명 |
---|---|---|
84900 | 2019-04-23 | 개별 브라우저의 동작 방식 차이입니다. |
2020-04-21 | Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다. Edge 버전에 따라 동작 방식이 다릅니다. |
MaskEdit 컴포넌트 텍스트 편집 영역에 포커스가 있는 경우 IME 동작 차이
MaskEdit 컴포넌트는 type, format 속성 설정에 따라 제한된 ASCII 문자만 입력할 수 있습니다.
사용자 편의를 위해 MaskEdit 컴포넌트의 텍스트 편집 영역에 포커스가 있을 때 IME 사용 제어가 가능한 일부 브라우저에서 IME를 비활성화 상태로 변경합니다. IME 비활성화 상태에서는 ASCII 문자 입력만 허용됩니다.
브라우저 | 포커스 시 IME 처리 방식 |
---|---|
[Runtime], IE, Firefox | IME 비활성화 |
Chrome, Edge, Safari | 영향 없음 |
IME 비활성화는 CSS ime-mode 속성을 사용하고 있습니다.
해당 속성은 Deprecated 상태이며 브라우저 제조사 업데이트에 따라 지원이 중단될 수 있습니다.
https://developer.mozilla.org/en-US/docs/Web/CSS/ime-mode
RP | 작성일 | 설명 |
---|---|---|
90516 | 2021-06-09 | 개별 브라우저의 동작 방식 차이입니다. |
제품 기능 제약
Div 컴포넌트의 url 속성값으로 설정한 Form 배경색이 적용되지 않는 현상
Div 컴포넌트의 url 속성값에 Form을 지정하는 경우 지정된 Form 내에서 참조하는 CSS 파일에 정의된 Form 오브젝트의 Style 속성이 적용되지 않습니다.
예를 들어 a.xfdl 파일에 2개의 Div 컴포넌트를 배치하고 url 속성값으로 b.xfdl, c.xfdl을 지정한 경우에 b.xfdl 파일은 test.css 파일을 Style 속성으로 지정하고 c.xfdl 파일의 Form 오브젝트 속성으로 직접 배경색을 지정한 경우에는 c.xfdl 파일을 지정한 Div 컴포넌트만 배경색이 표시됩니다.
b.xfdl 파일을 Div 컴포넌트에 배치하지 않고 직접 실행한 경우에는 배경색이 적용됩니다.
RP | 작성일 | 설명 |
---|---|---|
44258 | 2015-10-19 | Div 컴포넌트의 url 속성값으로 Form을 지정하는 경우에는 내부적으로 Form이 아닌 Div로 타입을 변경해서 처리합니다. 이렇게 타입이 변경되는 경우에는 CSS 파일에 정의된 Style 속성을 적용하지 않습니다. |
Calendar 컴포넌트의 popuptype 속성값에 따른 제약
모바일 디바이스를 사용하는 환경에서 Calendar 컴포넌트의 popuptype 속성값이 "system"일 경우 Calendar 컴포넌트에서 지원하는 이벤트가 아래와 같이 달라집니다.
지원여부 | 대상 이벤트 |
---|---|
지원 | onlbuttondown, onlbuttonup, oneditclick, onmouseenter, onmousemove, ondrag, onsetfocus, onkillfocus, onsize, onmove, ontouchstart, ontouchmove, ontouchend, onmouseenter, onmousemove, onlongpress, onpinchstart, onpinch, onpinchend, ontextchange, cancharchange, onchar, ontextchanged |
미지원 | onchanged, ondayclick |
RP | 작성일 | 설명 |
---|---|---|
47974 | 2016-05-13 | Calendar 컴포넌트의 popuptype 속성값에 따라 일부 이벤트가 지원되지 않습니다. |
ExcelExportObject 오브젝트에서 생성한 엑셀 파일의 셀을 복사해 다른 문서로 붙여 넣으면 색상이 달라지는 현상
ExcelExportObject 오브젝트의 exporttype 속성값을 nexacro.ExportTypes.EXCEL 상수값으로 지정한 경우 내려받은 엑셀 파일을 열어 셀 항목을 복사해서 새로운 엑셀 문서에 복사하는 경우 지정된 색은 복사되지 않습니다.
RP | 작성일 | 설명 |
---|---|---|
48114 | 2016-05-18 | Excel 97~2003 버전의 경우 사용자가 지정한 색 정보는 해당 파일에만 적용됩니다. 셀 항목을 복사해 다른 파일로 붙여 넣는 경우에는 해당 색 정보를 찾을 수 없어 사용자가 원하는 색이 아닌 다른 색으로 처리됩니다. |
MaskEdit, Grid 컴포넌트에서 mask 속성 적용 시 숫자 처리 방식의 차이
mask 속성값은 MaskEdit 컴포넌트와 Grid 컴포넌트 Cell 오브젝트의 속성값으로 사용할 수 있습니다. mask 속성값의 기능은 대부분 같지만, 일부 차이가 있는 부분이 있습니다.
컴포넌트 | 속성값 | 처리 방식 |
---|---|---|
MaskEdit | type:number | #: 모든 10진수 숫자 (0-9) 9: 모든 10진수 숫자 (0-9) |
Grid > Cell | displaytype:number | #: 모든 10진수 숫자 (0-9) (값이 0이거나 없으면 출력하지 않습니다) 0: 모든 10진수 숫자 (0-9) (값이 없으면 0으로 설정되어 나타납니다) |
RP | 작성일 | 설명 |
---|---|---|
69322 | 2016-09-13 | 하위 호환성을 유지하기 위한 기능 차이입니다. 기능 사용 시 차이가 있는 부분을 확인하고 사용해야 합니다. |
Edit 계열 컴포넌트의 이벤트 버블링 제약
Edit 계열 컴포넌트의 경우 이벤트 버블링의 범위에 HTML의 Document를 포함하지 않습니다. 다른 컴포넌트의 이벤트 버블링의 범위는 HTML의 Document를 포함합니다.
WebBrowser 컴포넌트 내에서 넥사크로플랫폼 애플리케이션을 url 속성값으로 지정하거나 HTML 코드 내에서 IFRAME 태그로 넥사크로플랫폼 애플리케이션을 지정하는 경우에 Edit 계열 컴포넌트의 이벤트는 WebBrowser 컴포넌트 밖으로 전달되지 않습니다.
RP | 작성일 | 설명 |
---|---|---|
48534 | 2016-12-22 | Input DOM node에서 발생한 이벤트는 InputElement에서 직접 처리하고 stopPropagation 메소드를 호출해 Document로 이벤트를 전파하지 않습니다. |
화면 확대, 축소 시 Grid 컴포넌트의 셀 선택 기능 제약
Grid 컴포넌트의 selecttype 속성값이 "multiarea"일 경우 브라우저를 확대하거나 축소한 상태에서 Cell 영역을 마우스로 드래그해서 다중선택하는 경우 선택영역이 원하는 영역과 다르게 선택됩니다. Grid 컴포넌트 내 다중선택 시 Grid 컴포넌트 영역 밖으로 마우스 포인터가 벗어나더라도 선택 기능이 동작해야 하므로 스크린 좌푯값을 사용합니다. 이 과정에서 선택영역이 다르게 선택되는 문제가 발생합니다.
브라우저 | 제약 발생 환경 |
---|---|
[Runtime] | showzoomcombo 속성값을 true로 설정하고 화면 확대, 축소 기능 사용 시 |
웹브라우저 | 브라우저 자체 확대, 축소 기능 사용 시 |
RP | 작성일 | 설명 |
---|---|---|
70879 | 2017-01-17 | 선택영역이 다르게 선택되는 문제는 아래와 같은 원인을 가지고 있습니다. 1) 확대 또는 축소했을 때 화면상에서 컴포넌트의 크기는 변하지만, HTML 노드에서 크기는 바뀌지 않습니다. 2) 확대 또는 축소했을 때 화면상에서 컴포넌트의 크기가 변하면서 마우스가 컴포넌트 위에 머무는 범위가 달라집니다. |
TextArea 컴포넌트의 align 속성 제약
TextArea 컴포넌트의 align 속성을 지정할 때 수직 정렬 값은 "top"만 지원하며 수평 정렬 값은 수평 스크롤바가 활성화된 경우 "left"만 지원합니다. 수평 스크롤바는 wordwrap 속성값과 scrollbars 속성값을 아래와 같이 지정한 경우 입력된 텍스트 길이에 따라 활성화됩니다.
wordwrap: none scrollbars: autoboth, alwayshorz, fixedboth, fixedhorz, autohorz
RP | 작성일 | 설명 |
---|---|---|
71468 | 2017-01-18 | 런타임, 웹브라우저 기능 제약입니다. "top" 또는 "left" 속성값 이외의 다른 속성값은 사용할 수 없습니다. |
default.xtheme 파일에 controlbutton 스타일을 적용하지 않음
넥사크로 스튜디오 설치 시 제공되는 default.xtheme 파일에 Grid 컴포넌트의 controlbutton 속성에 대한 스타일이 지정되어 있지 않습니다.
RP | 작성일 | 설명 |
---|---|---|
71548 | 2017-01-24 | 제품 초기부터 default.xtheme 파일에 포함되지 않은 스타일 속성값입니다. 이미 해당 스타일 속성을 재정의해서 사용하고 있는 사용자가 많아 default.xtheme 파일을 변경할 수 없습니다. |
WebBrowser 컴포넌트의 인쇄 시 제약
System.print 메소드 호출 시 창 크기가 작아 스크롤바가 활성화되면서 화면에 표시되지 않는 영역까지 인쇄할 수 있습니다. 하지만 Form 내에 WebBrowser가 포함된 경우에는 print 메소드 호출 시 자바스크립트의 window.print 메소드를 실행합니다. window.print 메소드는 화면에 표시되는 영역만 인쇄합니다.
브라우저 | System.print 처리 방식 |
---|---|
[Runtime] | WebBrowser 컴포넌트와 상관없이 Form 영역 모두 인쇄 |
Chrome, Edge, Firefox, IE, Safari | WebBrowser 컴포넌트가 포함된 경우에는 화면에 보이는 영역만 인쇄 |
아래 그림 같은 경우 Form에 Edit 컴포넌트 2개가 위아래로 배치되어 있고 오른쪽에 WebBrowser 컴포넌트가 배치되어 지도를 보여주고 있습니다. System.print 메소드 호출 시 런타임 환경에서는 빨간색 영역을 인쇄하지만 웹브라우저에서는 실행된 창에 보이는 파란색 영역을 인쇄합니다.
RP | 작성일 | 설명 |
---|---|---|
71680 | 2017-02-08 | 웹브라우저 기능 제약으로 Form에 WebBrowser 컴포넌트가 포함된 경우에 메소드 처리 방식이 런타임과 웹브라우저가 다르게 구현됐습니다. |
2017-06-15 | 이해를 돕기 위해 간단한 예제 이미지를 추가했습니다. |
자바스크립트 메소드 사용 시 제약
지시자를 지정하지 않고 alert, confirm 메소드를 호출하는 경우에는 자바스크립트의 메소드가 실행됩니다. 자바스크립트의 메소드는 넥사크로플랫폼에서 제공하는 메소드와 동작 방식이 다를 수 있습니다.
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo) { alert("TEST"); // javascript alert method this.alert("TEST"); // Form object alert method application.alert("TEST"); // Application object alert method }
아래 그림과 같이 넥사크로플랫폼에서 재정의한 메소드는 내부적으로 연계된 동작을 수행하기 위한 코드를 포함하고 있습니다. 그래서 자바스크립트의 기본 메소드와는 다른 형식으로 처리됩니다.
RP | 작성일 | 설명 |
---|---|---|
2017-05-22 | 넥사크로플랫폼 스크립트와 자바스크립트 메소드의 이름이 같아 생길 수 있는 제약입니다. 개발 시에는 Form 또는 Application 오브젝트의 메소드를 사용하는 것을 권장합니다. |
컴포넌트의 EventHandler 메소드 처리 오류
컴포넌트의 addEventHandler 또는 setEventHandler 메소드를 사용해 이벤트 핸들러 함수를 추가하는 경우 넥사크로플랫폼에서 지원하지 않는 eventid를 지정하면 실패로 처리해 -1값을 반환합니다. 하지만 내부적으로 관리하는 컴포넌트의 이벤트 목록 중 실제 구현되지 않은 이벤트가 정의된 경우가 있어 실패가 아닌 성공으로 처리해 0을 반환합니다.
예를 들어 Edit 컴포넌트는 onclick 이벤트를 지원하지 않지만 내부적으로 관리하는 Edit 컴포넌트의 이벤트 목록에는 onclick 이벤트가 포함되어 있습니다. 실행 시 아래와 같이 처리됩니다.
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo) { trace(this.Edit00.addEventHandler('onclick', this.test, this)); // 0 (성공으로 처리) trace(this.Edit00.addEventHandler('ontest', this.test, this)); // -1 (실패로 처리) }
넥사크로플랫폼 라이브러리 폴더에서 Edit.js 파일을 확인해보면 다음과 같이 이벤트 목록을 정의하고 있습니다.
RP | 작성일 | 설명 |
---|---|---|
71780 | 2017-07-07 | 해당 오류는 수정되어야 하지만 일부 사용자가 오류 기능을 활용해 다른 용도로 사용하고 있어 오류를 수정하지 않고 현재의 상태를 유지하고 있습니다. |
HTTP 헤더 적용 시 일부 옵션 제약
보안정책에 따라 서버에서 HTTP 헤더를 설정하거나 HTML 문서에 meta 태그 적용 시 제품 내부 기능 상의 이유로 일부 옵션이 제약될 수 있습니다.
Content-Security-Policy
적용 시 옵션에 따라 애플리케이션이 동작하지 않을 수 있습니다. 넥사크로플랫폼 라이브러리 내부에서 eval 함수나 인라인 스크립트를 사용하고 있는데 해당 코드가 보안 정책과 충돌할 수 있습니다.
아래와 같이 eval 함수나 인라인 스크립트를 허용하는 옵션을 추가해 적용할 수 있습니다.
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
X-Frame-Options
DENY 옵션 적용 시 일부 기능이 동작하지 않을 수 있습니다. 넥사크로플랫폼 컴포넌트 중 generate 시 IFRAME을 사용하는 컴포넌트(WebBrowser)과 기능(이미지 처리, 텍스트 사이즈 캐시)이 동작하지 못합니다.
아래와 같이 DENY 옵션을 사용하지 않으면 적용할 수 있습니다.
<meta http-equiv="X-Frame-Options" content="… " />
RP | 작성일 | 설명 |
---|---|---|
72928 | 2017-06-15 | 관련 옵션을 추가하거나 사용하지 않는 것으로 제약 사항을 회피할 수 있습니다. |
X-Content-Type-Options, X-XSS-Protection, Strict-Transport-Security 적용 시에는 제약이 없습니다.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
XSS(Cross-site scripting) 취약점에 대해서는 화면에서 입력되는 텍스트에 대해 필터링을 하거나 서버에서 검증 후 입력하는 방식을 적용할 수 있습니다.
넥사크로플랫폼 자체에서 모든 보안 취약점을 방어할 수는 없습니다. 서버에서 데이터를 전달받는 경우 올바른 데이터로 판단하고 처리하기 때문에 서버에서 데이터 생성 시 검증된 데이터를 생성해야 합니다.
onusernotify 이벤트 처리 시 브라우저에서 전달되는 값의 길이 제약
WebBrowser 컴포넌트에서 로딩된 웹문서에서 값을 전달받은 경우 onusernotify 이벤트를 사용하는데 이때 웹문서에서 전달된 값을 처리할 때 [Runtime]의 경우 처리할 수 있는 값의 길이 제약이 있습니다.
처리할 수 있는 값의 길이는 최대 512문자(한글, 일본어 256자)입니다.
RP | 작성일 | 설명 |
---|---|---|
76512 | 2017-10-19 | [Runtime]에서 웹브라우저(IE)의 title 속성을 사용해 값을 전달받고 있습니다. 해당 속성값 길이에 대한 제약이 있습니다. |
안드로이드 운영체제에서 Fullscreen 설정 시 키패드가 입력 컴포넌트를 가리는 현상
AndroidManifest.xml 파일 설정 시 아래와 같이 Fullscreen 관련 설정을 추가한 경우 입력 컴포넌트에 포커스를 옮겼을 때 키패드로 인해 입력 시 제약이 있을 수 있습니다.
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
RP | 작성일 | 설명 |
---|---|---|
77480 | 2017-12-13 | 안드로이드 운영체제에서 사용하는 넥사크로플랫폼 애플리케이션은 FullScreen을 지원하지 않습니다. |
안드로이드 운영체제에서 WebBrowser 컴포넌트가 최상위에 표시되는 현상
안드로이드 런타임에서는 WebBrowser 컴포넌트 위에 다른 컴포넌트를 배치할 수 없습니다. 팝업으로 표시되는 컴포넌트도 WebBrowser 컴포넌트와 겹쳐지는 경우 WebBrowser 컴포넌트 아래 표시됩니다.
RP | 작성일 | 설명 |
---|---|---|
78897 | 2018-03-15 | 안드로이드 운영체제에서 WebBrowser 컴포넌트를 포함한 애플리케이션 실행 시 제약이 있습니다. |
애플리케이션을 웹브라우저에서 실행 시 경고 메시지가 표시되는 오류
IE 브라우저에서 애플리케이션 실행 시 개발자 도구를 열고 콘솔 탭 선택 시 아래와 같은 경고 메시지를 확인할 수 있습니다.
해당 경고 메시지는 Generate 과정에서 생성되는 HTML 파일의 조건부 주석 처리가 잘못되었기 때문에 발생하는 경고 메시지입니다. 경고 메시지이기 때문에 애플리케이션 실행 시 문제가 발생하지는 않습니다. 다만, 해당 조건부 주석 처리 구문을 수정할 경우 운영중인 애플리케이션에 영향을 미칠 수 있어 구문 오류를 수정하지 않았습니다.
(X) <!--[if gt IE 8]><!DOCTYPE html><!--<![endif]--> (O) <!--[if gt IE 8]><!--><!DOCTYPE html><!--<![endif]-->
RP | 작성일 | 설명 |
---|---|---|
81813 | 2018-09-19 | 해당 오류는 수정되어야 하지만 운영 중인 애플리케이션에 영향을 미칠 수 있어 오류를 수정하지 않고 현재의 상태를 유지하고 있습니다. |
Cell 오브젝트가 편집 상태가 아니라도 텍스트가 마우스 조작으로 선택되는 현상
Grid 컴포넌트의 head, summary Band 영역의 셀은 컨트롤을 가지고 있지 않으며 편집 상태가 될 수 없기 때문에 마우스 더블 클릭 또는 마우스 드래그로 텍스트 선택이 되지 않아야 합니다. body Band의 경우에도 edittype 속성값이 "none"인 경우에는 편집 모드가 활성화되지 않기 때문에 더블 클릭 또는 마우스 드래그로 텍스트 선택을 할 수 없어야 합니다.
또한 edittype 속성과 Band 영역에 상관없이 셀의 editdisplay 속성 값이 "display"인 경우 나타나는 컨트롤은 편집 상태의 컨트롤이 아니기 때문에 텍스트 선택을 할 수 없어야 합니다.
하지만, 버그 동작으로 Cell 오브젝트의 속성이 아래의 경우 편집상태가 아니더라도 마우스 조작으로 텍스트를 선택할 수 있으며, 이를 사용하는 사용자가 있어 오류를 수정하지 않고 현재의 상태를 유지합니다.
- Head Band Cell editdisplay=display - Body Band Cell editdisplay=display
RP | 작성일 | 설명 |
---|---|---|
86141 | 2019-07-15 | 해당 오류는 수정되어야 하지만 운영 중인 애플리케이션에 영향을 미칠 수 있어 오류를 수정하지 않고 현재의 상태를 유지하고 있습니다. |
미구현된 CSS를 통한 Cell 오브젝트 스타일 작성 시 넥사크로 스튜디오에 설정되는 것처럼 보이는 현상
css 파일에서 Grid 컴포넌트 Cell 오브젝트의 스타일을 설정할 수 없습니다. 아래와 같이 css 파일 작성 시 설정한 스타일은 적용되지 않습니다. Cell 오브젝트의 스타일을 css 파일에서 설정하는 기능은 미구현된 기능으로 지원하지 않습니다.
Cell { padding : 3 3 3 3; }
css 파일에서 Cell 오브젝트의 스타일 설정 후 Grid Contents Editor에서 확인해보면 css 파일에서 지정한 Cell 스타일이 설정된 것처럼 보이지만, 실제 동작에는 영향을 미치지 않습니다.
미구현된 기능이 넥사크로 스튜디오에 반영되는 것처럼 보이는 현상은 오류이지만, 이를 대응하는 과정에서 다른 기능에 영향을 미칠 수 있어 오류를 수정하지 않고 현재의 상태를 유지합니다.
RP | 작성일 | 설명 |
---|---|---|
73784 | 2019-05-27 | 해당 오류는 수정되어야 하지만 다른 기능에 영향을 미칠 수 있어 오류를 수정하지 않고 현재의 상태를 유지하고 있습니다. |
컨텍스트 메뉴에서 "실행취소" 항목 선택 시 동작 방식의 차이
HTML5 환경에서 실행 시 텍스트 편집 영역을 가지고 있는 컴포넌트에 해당하는 제약입니다.
컴포넌트에 입력된 문자열을 선택한 후 마우스 오른쪽 버튼을 클릭해 컨텍스트 메뉴를 실행하고 '삭제' 또는 '잘라내기' 항목을 선택합니다. 그리고 다른 컴포넌트로 포커스를 이동한 후 컨텍스트 메뉴를 실행하고 '실행취소' 항목 선택했을 때 동작을 보장하지 않습니다.
웹 브라우저에서 사용자의 '실행취소' 선택에 대한 이벤트 정보를 전달하지 않아 넥사크로플랫폼에서 사용자의 "실행취소" 명령 처리에 제약이 발생합니다.
넥사크로플랫폼에서는 컨텍스트 메뉴에서 '실행취소' 선택 시 동작을 보장하지 않으며 선택 이후의 동작 역시 보장하지 않습니다.
런타임 환경에서는 텍스트 편집 영역을 가지고 있는 컴포넌트에서 컨텍스트 메뉴 실행 시 '실행취소' 메뉴를 노출하지 않습니다.
HTML5 환경에서 웹 브라우저에 따라 컨텍스트 메뉴 실행 시 '실행취소' 메뉴가 표시되지 않거나 비활성화된 상태로 보일 수 있습니다.
RP | 작성일 | 설명 |
---|---|---|
75871 | 2017-10-10 | 개별 브라우저의 동작 방식 차이입니다. |
2020-04-21 | Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다. Edge 버전에 따라 동작 방식이 다릅니다. | |
91772 | 2021-03-23 | 해당 제약 분류를 '브라우저별 기능 차이'에서 '제품 기능 제약'으로 변경합니다. 제약 내용도 기능 차이가 아니라 동작을 보장하지 않는 것으로 수정합니다. |
Form 오브젝트의 onload 이벤트 핸들러 함수 내에서 컴포넌트의 크기를 잘못 가져오는 동작
iOS 운영체제에서 실행 시 컴포넌트의 right 속성값을 0 또는 bottom 속성값을 0으로 설정한 경우 Form 오브젝트의 onload 이벤트 핸들러 함수 내에서 컴포넌트의 getOffsetWidth, getOffsetHeight 메소드 실행 시 잘못된 값을 반환합니다.
RP | 작성일 | 설명 |
---|---|---|
94346 | 2022-05-13 | 해당 오류는 수정되어야 하지만 다른 기능에 영향을 미칠 수 있어 오류를 수정하지 않고 현재의 상태를 유지하고 있습니다. |
RTL 설정 시 기능 제약
RTL 설정 시 getCaretPos 메소드 처리 결과
Chrome, Edge(80 이상 버전), Opera 브라우저에서 RTL 설정 시 편집 영역에 아랍어, 영어, 숫자 순으로 입력한 문자열 중간에 캐럿이 위치한 경우 getCaretPos 메소드 실행 결과값이 다른 브라우저와 다르게 처리됩니다.
RTL 설정 시 getCaretPos 메소드 실행 결과값은 브라우저, 브라우저 버전에 따라 다르게 처리될 수 있습니다.
RP | 작성일 | 설명 |
---|---|---|
48750 | 2016-09-07 | Chrome 브라우저 동작 방식의 차이입니다. |
2020-04-21 | Chrome, Edge(80 이상 버전), Opera 브라우저에서 발생 현상 확인했습니다. |
RTL 설정 시 WebBrowser 컴포넌트 적용 제약
RTL 설정 시 WebBrowser 컴포넌트 내 표시되는 콘텐츠의 방향은 RTL 설정을 적용받지 않습니다.
RP | 작성일 | 설명 |
---|---|---|
68436 | 2016-09-29 | WebBrowser 컴포넌트는 내부적으로 IFRAME 태그를 사용합니다. IFRAME 내 표시되는 콘텐츠는 애플리케이션이 보이는 Document object와 다른 Document object로 처리하기 때문에 RTL을 적용하지 않습니다. 컴포넌트 내 표시되는 스크롤바도 마찬가지로 RTL을 적용하지 않습니다. |
RTL 설정 시 편집 영역에서 스크롤바, 캐럿 동작 방식
RTL 설정 시 편집 영역을 가지는 컴포넌트에서 키보드 Home, End 버튼을 입력했을 때 스크롤바와 캐럿 위치가 브라우저에 따라 다릅니다.
브라우저 | 정상여부 | 동작 방식 |
---|---|---|
[Runtime], Edge(44 이하 버전) | 정상 | Home 버튼 입력 시 스크롤바와 캐럿이 왼쪽으로 이동하고 End 버튼 입력 시 오른쪽으로 이동 |
Chrome, Edge(80 이상 버전) Safari | 이상동작 | Home 버튼 입력 시 스크롤바와 캐럿이 오른쪽으로 이동하고 End 버튼 입력 시 왼쪽으로 이동 |
Firefox | 이상동작 | Home 버튼 입력 시 스크롤바와 캐럿이 오른쪽으로 이동하나 End 버튼 입력 시 캐럿이 사라지고 스크롤바가 동작하지 않음 |
IE | 이상동작 | Home, End 버튼 입력 시 스크롤바와 캐럿이 왼쪽으로 이동 |
RP | 작성일 | 설명 |
---|---|---|
69813 | 2016-10-20 | 개별 브라우저의 동작 방식 차이입니다. 편집 영역에 텍스트 방향이 LTR인 문자열만 있는 경우 발생하는 현상입니다. |
2020-04-21 | Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다. Edge 버전에 따라 동작 방식이 다릅니다. |
RTL 설정 시 일부 이미지가 깨져 보이는 현상
IE8 환경에서 컴포넌트의 rtldirection 속성값을 "rtl"로 설정 시 일부 PNG 파일 형식 이미지를 반전시키는 과정에서 이미지가 깨져서 표시되는 현상이 발생합니다.
IE9 이상 브라우저를 사용하거나 PNG 파일 대신 다른 이미지 파일(JPG, BMP, GIF) 형식을 사용할 수 있습니다.
RP | 작성일 | 설명 |
---|---|---|
70330 | 2016-11-04 | IE8 브라우저의 렌더링 엔진 제약 사항입니다. |
제품제약사항 제외 항목
애플리케이션에서 동기 통신 지원 제약
iOS 런타임 애플리케이션은 동기 통신을 지원하지 않으며 비동기 방식만 지원합니다.
RP | 작성일 | 설명 |
---|---|---|
42234 | 2015-05-12 | iOS 런타임 애플리케이션의 바이너리/압축 통신은 DeviceAPI를 사용해 구현되어 있습니다. iOS에서 제공하는 WebView 환경에서는 동기 통신을 처리할 수 없습니다. |
2019-12-24 | 2019년 12월 iOS 최소 사양을 iOS 9으로 변경 공지하며 UIWebView 지원을 중단했습니다. 이에 따라 해당 건은 제약에서 제외합니다. |
iOS 운영체제에서 WebBrowser 컴포넌트에 로딩한 웹 문서 내 텍스트 편집 시 캐럿 표시 제약
WebBrowser 컴포넌트에서 로딩한 웹 문서에서 contenteditable 속성을 사용하고 있는 경우 텍스트 편집 영역 내에서 캐럿 위치가 정상적으로 표시되지 않습니다. 텍스트 영역을 터치했을 때 해당 위치에 캐럿이 표시되지 않을 수 있습니다.
iOS 운영체제 런타임 실행 환경에서 발생하는 제약사항입니다. iOS 운영체제 런타임에서는 UIWebView를 사용하고 있습니다. 다른 환경에서는 발생하지 않으며 UIWebView에서만 발생하는 현상입니다.
캐럿 표시 문제가 생기는 경우 키패드를 내렸다가 다시 올리면 정상적으로 캐럿이 표시됩니다.
RP | 작성일 | 설명 |
---|---|---|
80635 | 2018-08-17 | iOS에서 제공하는 UIWebView 환경에서 contenteditable 속성을 사용하는 문서 내 텍스트 편집 영역의 캐럿 표시 문제입니다. |
2019-12-24 | 2019년 12월 iOS 최소 사양을 iOS 9으로 변경 공지하며 UIWebView 지원을 중단했습니다. 이에 따라 해당 건은 제약에서 제외합니다. |
setFocus 메소드 실행 시 캐럿이 이동하지 않는 현상
Edge 브라우저 사용 시 Edit 계열 컴포넌트의 onkillfocus 이벤트 함수 내에서 같은 컴포넌트의 setFocus 메소드를 호출하는 경우 포커스는 이동하지만 캐럿은 이동하지 못하는 현상이 있습니다.
예를 들어 두 개의 Edit 컴포넌트가 있을 때 첫 번째 Edit 컴포넌트(Edit00)에 포커스가 있는 상태에서 두 번째 Edit 컴포넌트(Edit01)의 편집 영역을 클릭해 포커스를 이동하는 경우 첫 번째 Edit 컴포넌트의 onkillfocus 이벤트가 발생하는데 이때 포커스는 첫 번째 Edit 컴포넌트로 이동하지만 캐럿은 두 번째 Edit 컴포넌트에 표시되는 현상입니다.
this.Edit00_onkillfocus = function(obj:Edit, e:nexacro.KillFocusEventInfo) { if(obj.value == null) obj.setFocus(); }
RP | 작성일 | 설명 |
---|---|---|
71955 | 2017-02-23 | Edge 브라우저 버그입니다. |
2020-04-21 | Edge 브라우저 44.18362 버전에서 정상 동작 확인했습니다. 이에 따라 해당 건은 제약에서 제외합니다. |
onkeydown, onkeyup, ontextchanged 이벤트 발생 순서가 다른 현상
텍스트 편집 영역을 가지고 있는 컴포넌트에서 한글 또는 일본어 입력 시 이벤트 발생 순서가 브라우저에 따라 다릅니다. 브라우저에 따른 이벤트 발생 순서는 아래와 같습니다. Edge 브라우저에서 onkeyup 이벤트 함수 내에 입력된 한글 또는 일본어 텍스트를 확인하는 스크립트를 포함하는 경우 입력값을 확인하지 못할 수 있습니다.
브라우저 | 처리 방식 |
---|---|
Edge | onkeydown > onkeyup > ontextchanged |
[Runtime], IE, Chrome, Firefox, Safari | onkeydown > ontextchanged > onkeyup |
RP | 작성일 | 설명 |
---|---|---|
82252 | 2018-10-15 | 개별 브라우저의 동작 방식 차이입니다. |
82900 | 2018-11-27 | Edit 컴포넌트 외 텍스트 편집 영역을 가지고 있는 컴포넌트에서 공통적으로 발생하는 현상임을 확인했습니다. |
2020-04-21 | Edge 브라우저 44.18362 버전에서 onkeydown > ontextchanged > onkeyup 순으로 이벤트가 발생하는 것을 확인했습니다. 이에 따라 해당 건은 제약에서 제외합니다. |
RTL 설정 시 편집 영역에 입력 시 캐럿 위치
Chrome 브라우저에서 RTL 설정 시 편집 영역을 가지는 컴포넌트에서 영문이나 숫자 입력 시 캐럿이 텍스트 앞부분에 위치하는 현상이 발생합니다.
RP | 작성일 | 설명 |
---|---|---|
68653 | 2016-09-05 | Chrome 브라우저 동작 방식의 차이입니다. 캐럿의 위치를 강제적으로 조정할 수도 있지만 다른 동작에 영향을 미칠 수 있어 조정하지 않습니다. |
2020-04-21 | Chrome 브라우저 79.0.3945 버전에서 정상 동작 확인했습니다. 이에 따라 해당 건은 제약에서 제외합니다. |