제품제약사항

작성일별 목록

각 항목에 표기된 작성일은 해당 제약사항을 확인하거나 내용을 수정한 일자입니다. 문서에 기재하기 위해 검토하고 내용을 검수하는 과정이 필요하기 때문에 실제 업데이트되는 일자와 다를 수 있습니다. 각 항목의 업데이트 일자는 변경 이력을 참조해주세요.

작성일별 목록은 신규로 작성된 항목만 기재합니다. 넥사크로 플랫폼 14 버전에서 확인된 항목은 목록에 기재하지 않습니다.

2022년

항목

08-30

이벤트 핸들러 함수 내에서 alert, confirm 메소드 실행 시 동작이 달라지는 제약

02-10

상태바 영역을 두 번 탭할 때 최상단으로 한 번에 스크롤되지 않는 현상

2021년

항목

07-15

WebBrowser 컴포넌트에서 로딩된 콘텐츠에 대한 핀치줌 동작 제어 제약

06-09

MaskEdit 컴포넌트 텍스트 편집 영역에 포커스가 있는 경우 IME 동작 차이

04-13

HTML body 태그 내 contenteditable 속성값이 true인 경우 스크롤 동작 제약

02-02

이름 앞부분이 같은 글꼴 사용 시 적용되지 않는 현상

2020년

항목

10-12

readonly로 설정한 편집 영역 터치 시 완료 버튼이 표시되는 현상

10-08

LiteDBConnection 오브젝트에서 사용할 DB 파일을 배포하지 못하는 제약

09-16

fittocontents 속성값을 설정했을 때 줄바꿈이 되는 현상

09-07

일본어 입력 시 확정 전 value 속성값으로 반영되는 현상

08-24

iOS 13 이상 버전에서 스크린 정보를 잘못된 타입으로 처리하는 현상

08-19

텍스트 편집 시 ENTER 키를 입력해도 canchange, onchanged 이벤트가 발생하지 않는 현상

08-19

팝업창에서 HttpRequest 통신을 처리할 때 창을 닫는 경우 부모창에 영향을 주는 현상

06-26

system.print 메소드 실행 시 2페이지 이후 콘텐츠를 출력하지 못하는 현상

06-11

일본어 IME 입력 중 입력 문자를 빠르게 입력하는 경우 오류

03-27

imemode 속성값이 적용되지 않는 현상

03-02

system calendar에서 변경한 날짜 확정 시점의 차이

02-03

텍스트 오른쪽 정렬과 이탤릭체 적용 시 글자 잘림 현상

2019년

항목

09-18

WebBrowser 컴포넌트에서 휠 스크롤이 동작하지 않는 현상

07-12

Grid 컴포넌트에서 브라우저에 따라 oncelldblclick 이벤트가 다르게 처리되는 현상

06-28

웹브라우저에서 MainFrame 오브젝트의 onclose 이벤트 발생하지 않는 현상

06-28

일부 한글 쿼티 자판에서 한글 입력 시 영문으로 변환되어 입력되는 현상

06-27

Grid 컴포넌트 크기 변경 시 잔상이 보이는 현상

06-05

스타일 편집기 컴포넌트 프리뷰 창에서 Status에 따른 상태가 변경되지 않는 현상

05-30

Plugin 컴포넌트 위에 PopupDiv 컴포넌트가 배치되는 경우 border 속성이 표시되지 않는 현상

04-24

텍스트 편집 영역을 가진 컴포넌트가 마우스 휠 동작으로 스크롤 이동 시 화면을 벗어나는 경우 동작 차이

04-23

FileUpload 컴포넌트에서 파일 선택 대화상자에서 취소 버튼 클릭 시 동작이 다른 현상

04-03

swf 콘텐츠 위에 PopupDiv 컴포넌트가 배치되는 경우 border 속성이 표시되지 않는 현상

03-26

WebBrowser 컴포넌트의 url 속성으로 Local-Url 접근 시 제약

03-26

WebBrowser 컴포넌트에서 로딩한 컨텐츠 포커스 이동 시 키패드 제어 차이

03-14

wordwrap 속성값이 "english"인 경우 텍스트가 잘려서 표시되는 현상

03-08

Calendar 컴포넌트의 날짜가 디바이스에 따라 다르게 표시되는 현상

03-07

함수 내 alert, confirm 메소드가 포함된 경우 스크립트 처리 방식 차이

02-26

border 영역 처리 시 브라우저별 차이

02-14

ColumnInfo 오브젝트의 type 속성값을 변경한 후 변경된 type에 해당하는 값을 설정하지 못하는 제약

02-13

trackPopup 메소드 실행 전 alert, confirm 메소드 실행 시 컴포넌트가 표시되지 않는 제약

02-08

system.osversion 속성값 처리 시 제약

01-15

WebBrowser 컴포넌트에서 다른 도메인 컨텐츠를 연결한 경우 mousemove 이벤트가 멈추는 현상

01-07

로딩 시 편집 영역을 가지는 컴포넌트가 첫 번째 포커스일 때 동작 방식의 차이

01-07

TextArea 컴포넌트에 내용 입력 시 키패드가 올라오면서 캐럿 위치가 화면을 벗어나는 현상

2018년

항목

12-21

Modeless 팝업창에서 부모창으로 포커스를 지정할 수 없는 제약

12-18

콜백함수에서 파일 대화상자를 띄우지 못하는 제약

12-14

UTF-8 인코딩이 아닌 파일을 열었을 때 문자열이 깨져서 표시되는 현상

10-11

iPad 단말기에서 Screen 오브젝트 type 속성값 처리 제약

09-05

넥사크로 윈도우 앱 설치 시 프로그램 시작 오류 발생

07-30

Radio 컴포넌트의 선택 상태 처리 오류

07-27

iOS 운영체제에서 Update Type에 따른 쿠키 사용 제약

07-13

fittocontents 속성 적용 시 텍스트 일부가 잘려 보이는 현상

04-28

ActiveX 필터링 기능 활성화 시 스크립트 에러

03-19

접근성 설정 시 키패드 사용 제약

03-02

특정 스타일 조건에서 텍스트가 잘려서 표시되는 현상

사용 환경에 따른 기능 제약

MaskEdit 컴포넌트에 포커스가 옮겨졌을 때 캐럿 위치가 달라지는 현상

iOS 운영체제를 사용하는 디바이스에서 MaskEdit 컴포넌트의 type 속성값이 "string"인 경우 포커스가 옮겨졌을 때 캐럿 위치가 마지막으로 이동하는 현상이 있습니다.

RP

작성일

설명

69265

2016-09-13

iOS 운영체제를 사용하는 디바이스에서 컴포넌트의 편집 영역에 포커스가 옮겨지는 경우 키패드가 표시되는 명령을 호출합니다. 이때 내부적으로 INPUT DOM 트리의 type을 변경하고 text 값을 다시 설정합니다. 이 과정에서 캐럿이 마지막으로 이동하는 현상이 발생합니다. 강제적으로 캐럿의 위치를 변경할 수 있지만, 성능에 영향을 미칠 수 있어 현재의 상태를 유지하고 있습니다.

"향상된 보호 모드" 옵션 활성화 시 파일 내려받기 기능 제약

IE10 이상 브라우저에서 [향상된 보호 모드] 옵션을 활성화한 경우 윈도우 폴더를 보호하기 위해 특정 폴더만 접근할 수 있도록 경로가 가상화되어 처리됩니다. 사용자가 해당 옵션을 활성화한 경우에 파일 내려받기 경로를 지정하는 기능을 사용할 수 없습니다.

RP

작성일

설명

71778

2017-02-13

IE10 이상 브라우저 사용 시 사용자가 선택하는 옵션입니다. 필요한 경우 사용자가 옵션을 변경하도록 안내할 수 있습니다.

FileUpload 컴포넌트의 appendItem 메소드가 동작하지 않는 현상

Safari 브라우저에서 FileUpload 컴포넌트의 appendItem 메소드를 반복해서 실행하는 경우 두 번째 실행부터 동작하지 않습니다.

RP

작성일

설명

72002

2017-02-28

윈도우용 Safari 브라우저 버그입니다.

Edit 영역을 가지는 컴포넌트의 텍스트 검색 제약

IE 브라우저를 사용하는 경우에는 Edit 영역을 가지는 컴포넌트에 입력된 텍스트를 브라우저의 찾기 기능을 사용해 검색할 수 없습니다.

RP

작성일

설명

72123

2017-03-09

IE 브라우저 기능 제약입니다.

WebBrowser 컴포넌트 생성, 삭제 반복 시 운영체제 메모리 증가

윈도우 운영체제에서 NRE 실행 시 WebBrowser 컴포넌트를 생성했다가 삭제하는 작업이 빈번하게 발생하는 경우 운영체제의 메모리 사용이 증가하며 동작이 느려지는 현상이 발생합니다.

예를 들어 Div 컴포넌트의 url 속성값으로 지정한 Form 오브젝트 내에 WebBrowser 컴포넌트를 배치한 경우 Div 컴포넌트의 url 속성값을 변경할 때마다 내부적으로 WebBrowser 컴포넌트의 생성과 삭제가 반복되며 메모리 사용이 증가합니다.

RP

작성일

설명

74036

2017-07-05

NRE에서 실행 시 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.QuickViewFrame.form.Div00" 
    style="left: 141px; top: 504px; width: 400px; height: 115px; 
    background:#0000ff; ">
    <div style="left: 20px; top: 20px; width: 300px; height: 73px; 
        background:red; ">Button00
    </div>
</div>

RP

작성일

설명

76382

2017-10-16

브라우저에서 마우스 포인터를 빠르게 움직이는 경우 간혹 발생하는 현상입니다.

접근성 설정 시 키패드 사용 제약

iOS 운영체제에서 접근성 설정이 활성화된 앱 실행 시 텍스트 편집 영역을 가지고 있는 컴포넌트의 inputtype 속성값이 "number"인 경우에 숫자 키패드가 아닌 일반 키패드가 올라오도록 설정되어 있습니다. iOS 운영체제에서 접근성 설정이 활성화된 경우 숫자 키패드를 올라오도록 하면 화면 스크롤 위치가 맨 위로 올라가는 문제가 있어서 일반 키패드가 올라오도록 처리하고 있습니다.

RP

작성일

설명

78855

2018-03-19

iOS 운영체제에서 접근성 설정이 활성화된 경우 숫자 키패드 처리 시 문제로 인해 일반 키패드가 올라오도록 하고 있습니다.

ActiveX 필터링 기능 활성화 시 스크립트 에러

IE9 이상 웹브라우저 사용 시 ActiveX 필터링 기능을 활성화하는 경우 ActiveXObject 기능을 사용할 수 없으며 정상적으로 동작하지 않고 스크립트 에러가 발생할 수 있습니다.

https://support.microsoft.com/ko-kr/help/17469/windows-internet-explorer-use-activex-controls

RP

작성일

설명

73214

2017-04-28

IE9 이상 웹브라우저 사용 시 ActiveX 필터링 기능을 활성화한 경우 발생하는 현상입니다. ActiveX 필터링 기능을 비활성화한 상태에서 사용하도록 안내해야 합니다.

iOS 운영체제에서 Update Type에 따른 쿠키 사용 제약

iOS 운영체제 앱 배포 시 Update Type을 "Update" 또는 "Local"으로 설정한 경우 디바이스 로컬 경로에 설치된 컨텐츠(Run.html)의 쿠키 사용에 제약이 있을 수 있습니다. 쿠키를 사용해야 한다면 Update Type을 "Server"로 설정하고 컨텐츠가 관리되는 서버와 transaction 메소드 실행 시 요청 서버의 도메인을 같게 설정해 주어야 합니다.

컨텐츠(Run.html) 파일이 로컬 경로(file://)에서 동작하는 경우에는 어떠한 쿠키도 허용되지 않으며 쿠키를 설정할 수 없습니다. 스크립트로 접근(document.cookie)하거나 WKWebView API(WKHTTPCookieStore)를 이용해 쿠키를 설정하는 것도 허용하지 않습니다.

Update Type을 "Update" 또는 "Local"로 지정한 경우에는 WebBrowser 컴포넌트에서 callMethod 메소드를 사용해 HTML 파일에 접근하는 기능을 사용할 수 없습니다.

WebBrowser 컴포넌트의 url 속성으로 Local-Url 접근 시 제약

RP

작성일

설명

-

2018-07-30

iOS NRE에서 사용하는 WKWebView에 따라 cookie 접근이 제한되어 발생하는 현상입니다.


2019-11-22

2019년 3월 iOS 최소 사양을 iOS 9으로 변경 공지했습니다.

이에 따라 iOS 9 미만 항목에 대한 설명을 삭제하고, iOS 9 이상 항목에 대한 설명을 보완합니다.

넥사크로 윈도우 앱 설치 시 프로그램 시작 오류 발생

배포된 넥사크로 윈도우 앱 설치파일(nexacro17_SetupRuntime_xXX.exe)을 실행하는 경우 api-ms-win-crt-runtime-l1-1-0.dll 관련 오류가 발생하면서 설치가 되지 않습니다. 윈도우 최신 업데이트가 설치되지 않은 경우 발생하는 현상이며 윈도우 업데이트 설치 시 해당 오류가 발생하지 않습니다.

예를 들어 윈도우7 SP1까지 업데이트 후 추가적인 업데이트를 하지 않은 경우 발생할 수 있습니다. 윈도우 업데이트를 실행하거나 해당 오류를 해결하는 패키지를 내려받아 설치할 수 있습니다. 자세한 내용은 아래 링크를 참고하세요.

Windows에서 범용 C 런타임에 대한 업데이트

https://support.microsoft.com/ko-kr/help/2999226/update-for-universal-c-runtime-in-windows

RP

작성일

설명

81751

2018-09-05

최신 윈도우 업데이트가 설치되지 않은 경우 발생하는 오류입니다.

iPad 단말기에서 Screen 오브젝트 type 속성값 처리 제약

앱 실행 시 단말기와 운영체제 특성에 따라 Screen 목록에서 type, specifiedos, specifiedlocale 속성을 확인합니다. 하지만 iPad 단말기의 경우에는 디바이스의 크기를 판단할 수 있는 정보가 부족해 type 속성을 물리적인 화면 크기가 아니라 "mobile_large"로 적용합니다.

대상 iPad 단말기는 아래와 같습니다. 제조자 일정에 따라 대상 단말기는 추가될 수 있습니다.

Apple iPad 1,2
Apple iPad Air 1,2
Apple iPad Pro
Apple iPad mini 1,2,3,4

RP

작성일

설명

82223

2018-10-11

디바이스에서 관련 정보를 제공하지 않아 스크린 타입 속성을 강제로 지정한 제약입니다.

Calendar 컴포넌트의 날짜가 디바이스에 따라 다르게 표시되는 현상

Calendar 컴포넌트에 표시되는 일, 월의 길이가 1자리인 경우(1~9) 사용 환경에 따라 날짜가 다르게 표시됩니다. 해당 제약은 웹브라우저 자체에서 제어하는 부분이라 제품에서 지원할 수 없습니다.

예를 들어 popuptype 속성값은 "system", value 속성값은 "20190501"으로 설정한 경우 iOS 운영체제에서는 "2019. 5. 1."로 표시되며 안드로이드 운영체제에서는 "2019. 05. 01"로 표시됩니다(운영체제 언어 설정이 한국어인 경우).

모바일 디바이스 실행 환경에서는 popuptype 속성값을 "system"으로 설정한 경우에는 dateformat 속성값을 "yyyy-MM-dd"으로 자동 적용합니다. popuptype 속성값을 지정하지 않은 경우에는 "system"으로 동작합니다.

dateformat 속성값이 "yyyy-MM-dd"로 설정되더라도 시스템 환경에 따라 다른 형식으로 표현될 수 있습니다. 운영체제 언어 설정이 한국어로 되어 있는 경우 안드로이드 운영체제에서는 "yyyy.MM.dd", iOS 운영체제에서는 "yyyy.M.d" 형식으로 표시합니다.

RP

작성일

설명

83053

2019-03-08

운영체제와 웹브라우저에 따라 처리 방식이 달라 발생하는 제약입니다.

WebBrowser 컴포넌트의 url 속성으로 Local-Url 접근 시 제약

iOS 운영체제의 WKWebView는 Local-Url(File://) 형식으로 파일에 접근을 제한하고 있습니다. 이런 제약으로 HTML 파일을 배포하고 WebBrowser 컴포넌트에서 접근하는 기능을 사용할 수 없습니다.

해당 기능을 사용하려면 Packing 단계에서 Update Type을 "Server"로 지정해서 서버에 있는 HTML 파일에 접근하는 형식을 선택해야 합니다. Update Type을 "Update" 또는 "Local"로 지정한 경우에는 WebBrowser 컴포넌트에서 callMethod 메소드를 사용해 HTML 파일에 접근하는 기능을 사용할 수 없습니다.

Update Type을 "Update" 또는 "Local"로 지정한 경우에는 디바이스 로컬 경로에 설치된 컨텐츠(Run.html)의 쿠키 사용에 제약이 있을 수 있습니다.

iOS 운영체제에서 Update Type에 따른 쿠키 사용 제약

RP

작성일

설명

80584

2019-03-26

iOS NRE에서 사용하는 WKWebView 제약 사항으로 로컬 파일에 접근할 수 없습니다.

일부 한글 쿼티 자판에서 한글 입력 시 영문으로 변환되어 입력되는 현상

안드로이드 운영체제에 설치한 앱에서 MaskEdit 컴포넌트의 format 속성값에 "@"을 설정해 한글 입력을 막은 상태에서 한글 입력을 시도하면 해당 자판 위치의 영문으로 자체 변환되어 입력되는 현상이 발생할 수 있습니다.

한글 쿼티 자판 형식의 일부 키패드에서 발생하는 현상입니다. 키패드는 사용자가 임의로 설치하고 선택할 수 있는 사항이라 모든 현상에 대응할 수 없으며 제약으로 처리합니다.

RP

작성일

설명

85926

2019-06-28

안드로이드 운영체제에서 사용하는 일부 키패드에서 발생하는 현상입니다.

Grid 컴포넌트 크기 변경 시 잔상이 보이는 현상

화면 내 복잡한 구조로 컴포넌트가 배치되어 있고 Grid 컴포넌트를 사용하는 경우 화면 크기 변경 시 잔상이 보이는 현상이 나타날 수 있습니다. 사용하는 PC의 하드웨어 성능이 느린 환경에서 IE 브라우저를 사용하는 경우에 발생하는 현상입니다.

HTML 내 node 수가 많고 표 형식을 표현하기 위해 CSS 코드 내에서 테이블 모델을 사용하는 경우 화면 크기 변경 시 내부적으로 연산 처리가 발생합니다. 이 과정에서 하드웨어 성능에 따라 잔상이 발생할 수 있습니다.

CSS table model

https://www.w3.org/TR/CSS22/tables.html#table-display

RP

작성일

설명

85839

2019-06-27

윈도우 7 운영체제에서 IE10 브라우저를 사용하는 경우 발견됐습니다.

하드웨어 성능에 따라 연산 처리 과정에서 발생하는 현상이기 때문에 다른 조건에서도 발생할 수 있습니다.

텍스트 오른쪽 정렬과 이탤릭체 적용 시 글자 잘림 현상

텍스트를 표시하는 컴포넌트에서 -nexa-text-align 속성값을 "right"로 지정하고 font 속성에서 font-style 속성값을 "italic"으로 지정하는 경우에는 font-family 속성값이나 font-size 속성값에 따라 오른쪽에 표시되는 글자 일부가 잘려서 표시될 수 있습니다.

RP

작성일

설명

88094

2020-02-03

이탤릭체 적용 시 컴포넌트 영역을 글자가 벗어나면서 발생하는 현상입니다.

NRE, WRE 모두 발생하는 현상입니다.

system calendar에서 변경한 날짜 확정 시점의 차이

모바일 디바이스에서 Calendar 컴포넌트의 popuptype 속성값을 "system"으로 지정한 경우 날짜 변경 시 변경한 날짜 확정 시점의 차이가 있습니다. 각 운영체제의 특성에 따른 것이며 해당 제약을 확인 후 값을 처리해주어야 합니다.

운영체제

처리방식

Android

날짜 변경 후 확인 버튼을 선택한 후에 이벤트가 발생합니다.

iOS, iPadOS

날짜 변경 스핀 동작을 멈추면 이벤트가 발생합니다.

RP

작성일

설명

88892

2020-03-02

운영체제 특성에 따른 제약사항입니다.

imemode 속성값이 적용되지 않는 현상

윈도우 8 이후 버전의 운영체제에서는 IME 적용 방식이 변경되어 응용 프로그램마다 다른 입력 방식이 설정되며 응용 프로그램의 포커스가 바뀔 때 imemode 속성값이 적용되지 않습니다.

예를 들어 넥사크로 앱 실행 중에 메모장을 열어서 다른 작업을 하고 다시 넥사크로 앱으로 돌아왔을 때 첫 번째 포커스를 가지는 컴포넌트의 imemode 속성값이 적용되지 않습니다 (첫 번째 컴포넌트 이후 다른 컴포넌트에 포커스를 옮길 때에는 imemode 속성값이 적용됩니다).

alert, confirm 같은 창을 띄우거나 넥사크로 앱 내에서 다른 프로세스로 팝업창을 띄우고 다시 넥사크로 앱으로 포커스를 이동한 때도 마찬가지입니다.

넥사크로 앱 내에서 imemode 속성값을 유지하기 위해서는 사용자가 직접 관련 속성을 변경해주어야 합니다. 윈도우 10 운영체제에서는 [고급 키보드 설정 > 입력 방법 전환 > 각 앱 창에 다른 입력 방법을 직접 사용] 항목을 아래 그림과 같이 선택해주어야 합니다 (선택되지 않은 상태가 기본 설정입니다).

RP

작성일

설명

89164

2020-03-27

운영체제 특성에 따른 제약사항입니다.

사용자가 운영체제 설정을 변경한 경우에만 대응할 수 있습니다.

텍스트 편집 시 ENTER 키를 입력해도 canchange, onchanged 이벤트가 발생하지 않는 현상

canchange, onchanged 이벤트는 텍스트 편집 시 ENTER 키를 입력하거나 포커스가 이동할때 value 속성값이 변경되면서 발생합니다. 하지만 일부 운영체제에서는 ENTER 키 입력 시 이벤트가 발생하지 않는 현상이 있습니다.

iOS/iPadOS 운영체제 Safari 브라우저에서 일본어 IME 입력 시 ENTER 키로 텍스트 입력을 확정하는 경우에는 이벤트가 발생하지 않습니다. ENTER 키 입력 시 keycode 값이 잘못된 값으로 처리되면서 발생하는 현상입니다.

RP

작성일

설명

89615

2020-08-19

iOS/iPadOS 운영체제 Safari 브라우저에서 일본어 IME 사용 시 발생하는 현상입니다.

팝업창에서 HttpRequest 통신을 처리할 때 창을 닫는 경우 부모창에 영향을 주는 현상

nexacro.open 메소드로 띄운 팝업창에서 HttpRequest 통신이 진행중인 상태에서 팝업창을 사용자가 닫기 버튼을 클릭해 닫는 경우 부모창이 같이 닫히거나 새로고침되는 현상이 있습니다. 네트워크가 느린 환경이거나 로딩하는 파일 크기가 큰 경우 발생할 수 있습니다.

IE 브라우저의 경우 팝업창에서 같은 PID(process ID)를 공유하고 있으며 팝업창에 문제가 생기는 경우 부모창에 영향을 줄 수 있습니다.

IE 브라우저 옵션 설정에 따라 발생하는 현상은 달라집니다. [인터넷 옵션 > 고급 > 자동 크래시 복구 사용] 항목이 체크되어 있는 경우에는 부모창이 새로고침되며 체크가 안되어 있는 경우에는 부모창이 같이 닫힙니다.

업무 환경에 따라 해당 현상이 자주 발생하는 경우 부모창에 영향을 주지 않기를 원한다면 "Hang Resistance" 기능을 비활성화해서 팝업창에 문제가 생겨도 부모창에 영향을 주지 않도록 강제할 수 있습니다. 사용자 PC 레지스트리 정보를 업데이트해야 하는 방식입니다.

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\

Type: REG_DWORD

Name: HangRecovery

Value: 0

아래 정보를 참고하세요.

https://docs.microsoft.com/en-us/troubleshoot/browsers/webpage-fails-to-get-focus-ie-9

RP

작성일

설명

89518

2020-08-19

IE 브라우저 사용 시 발생하는 현상입니다.

iOS 13 이상 버전에서 스크린 정보를 잘못된 타입으로 처리하는 현상

iOS 13 이상 운영체제에서 Safari 브라우저 실행 시 앱에서 지정한 스크린 크기를 적용하지 못하는 현상이 발생할 수 있습니다. iPhone에서는 "mobile_small" 타입의 스크린 정보를 사용해야 하지만, "desktop" 타입의 스크린 정보가 적용되는 현상입니다. iOS 13 이상 운영체제에서 아래와 같이 safari 브라우저의 "데스크탑 웹사이트 요청" 옵션이 켜져있을 때 발생하며, 해당 옵션이 켜져있으면 기기 정보를 확인할 수 없어 발생하는 현상입니다.

RP

작성일

설명

90288

2020-08-24

iOS 13 이상 운영체제에서 사용자가 설정한 옵션에 따른 제약입니다.

사용자가 해당 옵션을 끄고 사용하도록 안내하는 것을 권장합니다.

fittocontents 속성값을 설정했을 때 줄바꿈이 되는 현상

IE11 이하 브라우저에서 fittocontents 속성값을 "width" 또는 "both"로 설정하고 wordWrap 속성값을 "char" 또는 "english"로 설정했을 때 줄바꿈이 되는 현상이 발생할 수 있습니다. 폰트 타입이나 크기에 따라 IE11 이하 브라우저에서 정확한 크기를 계산하지 못하고 이로 인해 fittocontents 속성에 따라 변경된 크기가 맞지 않아 발생하는 현상입니다.

width: 120
height: 60
fittocontents: width
text: Nexacro Platform 17 is a software development platform
wordWrap: char
font: 11px/normal "Arial" / 12px/normal "Arial"

IE11 이하 브라우저에서 아래와 같이 폰트 크기에 따라 줄바꿈이 발생하지 않을 수 있습니다.

RP

작성일

설명

90155

2020-09-16

IE11 이하 브라우저 사용 시 속성 조합에 따라 발생하는 현상입니다.

IE11 이하 브라우저에서 의도치 않은 줄바꿈이 생기지 않으려면 fittocontents 속성과 wordWrap 속성을 조합해서 사용하지 않도록 주의해야 합니다.

readonly로 설정한 편집 영역 터치 시 완료 버튼이 표시되는 현상

iOS 12 이하 버전에서는 readonly로 설정된 편집 영역 터치 시 완료 버튼이 표시되는 오류를 가지고 있습니다. 해당 현상은 iOS 13 이상 버전에서는 수정됐습니다.

아래 이미지는 readonly로 설정된 HTML input 태그 터치 시 보여지는 현상입니다.

https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_input_readonly

해당 현상은 Edit 컴포넌트의 readonly 속성값을 true로 설정했을 경우에 편집 영역을 터치하는 경우 발생합니다. readonly 속성값을 직접 지정하지 않더라도 컴포넌트 내부 동작에 의해 readonly 처리될 때도 같은 현상이 나타닙니다. 예를 들어 Combo 컴포넌트는 type 속성값을 "dropdown"으로 설정한 경우 comboedit 영역을 readonly 처리하게 되는데 이때 dropbutton이 아닌 comboedit 영역을 터치하는 경우 "완료" 버튼이 표시되는 현상이 나타납니다.

RP

작성일

설명

90694

2020-10-12

iOS 12 이하 버전에서 발생하는 현상입니다.

WebBrowser 컴포넌트에서 로딩된 콘텐츠에 대한 핀치줌 동작 제어 제약

iOS/iPadOS WRE, NRE에서는 핀치줌 동작을 제어하기 위해 HTML meta 태그 속성과 스크립트를 사용하고 있습니다. 다른 컴포넌트와 다르게 WebBrowser 컴포넌트의 경우 IFRAME 태그 영역 내 로딩된 콘텐츠의 속성 정보를 넥사크로 앱에서 알 수 없으며 핀치줌 동작을 제어할 수 없습니다.

넥사크로 앱에서 핀치줌이 동작하지 않도록 설정했더라도 WebBrowser 컴포넌트에서 로딩된 콘텐츠에서 핀치줌을 허용하고 있는 경우 WebBrowser 컴포넌트 영역 내에서 동작하는 핀치줌이 전체 앱에 영향을 줄 수 있습니다.

RP

작성일

설명

92583

2021-07-15

운영체제 특성에 따른 제약사항입니다.

로딩할 콘텐츠 내 필요한 태그와 스크립트를 직접 작성해주어야 합니다.

브라우저별 기능 차이

Edit 영역을 가지는 컴포넌트에서 커서 표시 방식의 차이

Edit 영역을 가지는 컴포넌트의 readonly 속성값이 true인 경우 브라우저에 따라 커서가 표시되는 방식이 다릅니다. 커서 표시 여부와 상관없이 readonly 속성값은 적용되며 Edit 영역의 텍스트를 사용자가 편집할 수 없습니다.

브라우저

처리 방식

Firefox, IE

커서가 표시되며 마우스 클릭 시 커서 위치가 이동

[NRE], Chrome, Edge, Safari

커서가 표시되지 않음

RP

작성일

설명

37637

2014-09-24

개별 브라우저의 동작 방식 차이입니다.

Style 제약 사항

Style 속성 중 넥사크로플랫폼에서 지원하지 않거나 일부 브라우저만 지원하는 속성은 아래와 같습니다.

속성

지원제약

참고

boxShadow

IE 8 미지원


background

> liner-gradient

IE 8,9 미지원


opacity

IE 8 미지원


edge


입력된 값에 따라 정상적으로 동작하지 않을 수 있습니다.

정상적으로 동작하지 않은 경우에는 브라우저에 따라 보이는 형태가 다를 수 있습니다.

cursor


마우스 커서를 움직이지 않고 다른 속성이 바뀌면서 mouseover element가 변경되는 경우 cursor type이 변경되는 기능이 정상적으로 동작하지 않을 수 있습니다.

RP

작성일

설명

40056

2015-02-26

background > imageedge (edge)

68510

2016-09-29

shadow (boxShadow)

문자열에 줄바꿈 기호가 포함된 경우 텍스트 정렬 방식의 차이

컴포넌트의 -nexa-text-align 속성값이 "center"이고 wordwrap 속성값이 "none"인 경우 문자열에 줄바꿈 기호가 포함되어 있으면 NRE와 웹브라우저가 다르게 정렬 방식을 처리합니다.

Button, Static, FileDownload, GridCellControl 오브젝트에서 발생하는 현상입니다.

RP

작성일

설명

47603

2016-03-30

속성 적용 시 생성되는 HTML에서 whitespace pre 옵션을 사용하는데 화면에 표시되는 영역의 크기와 다르게 텍스트 영역을 기준으로 가운데 정렬을 처리합니다. NRE에서는 내부적으로 정렬 상태를 조정하는 기능이 추가되어 다르게 표시됩니다.

hotkey 속성값이 적용되지 않는 현상

브라우저에서 사용하는 단축키를 컴포넌트의 hotkey 속성값으로 지정한 경우에 브라우저에 따라 다르게 동작할 수 있습니다.

RP

작성일

설명

48488

2016-07-05

개별 브라우저의 동작 방식 차이입니다. 브라우저에서 사용하는 단축키를 중복해서 hotkey 속성값으로 지정하지 않는 것을 권장합니다.

FileUpload 컴포넌트 사용 시 파일 경로 표시의 차이

FileUpload 컴포넌트의 multiselect 속성값을 true로 지정한 경우 브라우저에 따라 경로를 다른 형식으로 표시합니다.

브라우저

처리 방식

[NRE]

파일 경로 + 파일명

Chrome, Edge, Firefox, IE, Safari

파일명

FileUpload 컴포넌트의 multiselect 속성값을 false로 지정한 경우 브라우저에 따라 경로를 다른 형식으로 표시합니다.

브라우저

처리 방식

[NRE]

파일 경로 + 파일명

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 8 환경에서 nexacroAPI open 메소드 실행 시 자식 프레임 이름(ID)을 지정하는 파라미터(strName)을 같은 값으로 반복해서 실행했을 때 스크립트 에러가 발생하며 팝업창이 표시되지 못합니다.

NRE나 다른 브라우저는 같은 조건에서 스크립트 에러가 발생하지 않는데 팝업 윈도우를 처리하는 방식이 브라우저마다 다르므로 발생하는 현상입니다.

브라우저

동기 방식

처리 방식

[NRE]

동기

팝업 윈도우을 순차적으로 처리

Chrome

비동기

최종적으로 실행한 팝업 윈도우에 대한 자바스크립트만 처리

Firefox

비동기

최초로 실행한 팝업 윈도우에 대한 자바스크립트만 처리

IE

비동기

중복해서 생성되는 모든 팝업 윈도우에 대한 자바스크립트를 처리. 이 과정에서 스크립트 에러가 발생

팝업 윈도우 처리 시 자식 프레임의 ID 처리 방식은 브라우저마다 다르며 브라우저 버전에 따라 달라질 수 있습니다. 개발 시 중복된 ID로 처리되지 않도록 주의해야 합니다.

RP

작성일

설명

70213

2016-12-05

개별 브라우저의 동작 방식 차이입니다.

함수 내 alert, confirm 메소드가 포함된 경우 스크립트 처리 방식 차이

Chrome, Safari 브라우저를 사용하는 경우에는 함수 내에 alert, confirm 메소드가 포함된 경우에는 다른 코드를 먼저 처리하지 않습니다.

예를 들어 아래 코드의 경우 "TEST"라는 문자열을 먼저 출력하고 alert 메소드를 실행하도록 의도했지만, Chrome, Safari 브라우저에서는 alert 메소드가 먼저 실행되고 alert 창을 닫기 전에는 "TEST"라는 문자열을 출력하지 않습니다.

function fn_click() {
	document.write("TEST");
	alert("TEST");
}

브라우저

처리 방식

[NRE], Edge(44 이하 버전), Firefox, IE

순서에 따라 스크립트를 실행합니다.

Chrome, Edge(80 이상 버전), Safari

alert, confirm 메소드가 실행되고 사용자가 대화상자를 닫으면 다른 스크립트를 실행합니다.

RP

작성일

설명

71291

2017-01-09

개별 브라우저의 동작 방식 차이입니다.

84124

2019-03-07

Safari 브라우저에서도 Chrome 브라우저와 같은 동작을 확인했습니다.


2020-03-24

Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다.

Edge 버전에 따라 동작 방식이 다릅니다.

컴포넌트의 visible 속성 변경 시 느리게 적용되는 현상

스크립트로 컴포넌트의 visible 속성값을 변경하는 경우 화면에 보이는 컴포넌트가 변경되기 전에 다음 스크립트 구문이 먼저 처리될 수 있습니다. 사용하는 PC의 하드웨어 성능이 느린 환경에서 IE 브라우저를 사용하는 경우에 자주 발생하는 현상입니다.

RP

작성일

설명

71551

2017-01-31

visible 속성값을 변경했을 때 HTML 내 DOM 트리에 속성을 반영하는데 이 과정에서 하드웨어나 브라우저에 따라 반영 속도의 차이가 발생할 수 있습니다.

순차적으로 스크립트 구문이 처리되도록 조건을 설정하거나 TimerEvent를 사용해 적용 시점을 조정할 수 있습니다.

onmouseenter, onmousemove 이벤트 발생 순서가 다른 현상

onmouseenter, onmousemove 이벤트를 가지는 컴포넌트의 경우 이벤트 발생 순서가 브라우저에 따라 다릅니다. 브라우저에 따른 이벤트 발생 순서는 아래와 같습니다.

브라우저

처리 방식

IE, Edge(44 이하 버전)

onmousemove > onmouseenter

[NRE], Chrome, Edge(80 이상 버전), Firefox, Safari

onmouseenter > onmousemove

RP

작성일

설명

71731

2017-02-10

개별 브라우저의 동작 방식 차이입니다.


2020-03-24

Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다.

Edge 버전에 따라 동작 방식이 다릅니다.

trackPopup 메소드 실행 시 기준 영역

trackPopup 메소드 실행 시 컴포넌트(PopupDiv, PopupMenu)를 띄워주는 기준 영역이 다릅니다. NRE는 타이틀바를 포함한 프레임 영역을 기준 영역에 포함하는 데 반해 웹브라우저는 프레임 영역을 제외하고 콘텐츠가 보이는 영역만 기준 영역으로 처리합니다. 그래서 같은 좌푯값을 지정하더라도 showtitlebar 속성값이 true인 경우에는 컴포넌트를 띄우는 위치가 달라집니다.

대체 스크립트

작성한 스크립트가 제대로 동작하지 않을 수 있어 메소드 기능을 수정해 WRE, NRE 버전 간 차이를 수정할 수 없습니다. 스크립트 작성 시 trackPopupByComponent 메소드를 사용하거나 NRE 프레임 영역 값을 제거하도록 계산해 같은 위치에 컴포넌트를 띄울 수 있습니다.

// trackPopupByComponent 메소드 사용
var x = this.Button00.getOffsetLeft();
var y = this.Button00.getOffsetBottom();
this.pdiv.trackPopupByComponent(this, x, y);
// NRE 프레임 영역 값 제거
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

NRE, 웹브라우저 동작 방식 차이입니다.

nexacro.getTextSize 결과값 처리 차이

getTextSize 메소드는 파라미터값에 따라 텍스트의 크기를 계산해 주는 메소드입니다. 하지만 실행하는 브라우저에 따라 결과값의 차이가 발생합니다.

브라우저에 따라 결과값이 달라지며 파라미터값에 따라 달라질 수 있습니다. 아래 표는 특정 파라미터값을 지정한 경우 브라우저별 결과값의 차이를 참고용으로 기재한 것입니다.

this.Static00.set_text("nexacro");
this.Static00.set_font("10 Arial");
var textSize = nexacro.getTextSize(this.Static00.text, this.Static00.font, null, "none", 0);
trace(textSize.nx, textSize.ny); // 결과값

브라우저

결과값

IE11

47, 15

Edge(44 이하 버전)

47.41999816894531,15

[NRE], Safari

46, 16

Firefox

46, 15

Chrome, Edge(80 이상 버전)

47.42295837402344, 15

RP

작성일

설명

72660

2017-06-20

개별 브라우저의 동작 방식 차이입니다.


2017-10-10

예제 코드 추가


2020-03-24

Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다.

Edge 버전에 따라 동작 방식이 다릅니다.

브라우저에서 특정 컴포넌트를 브라우저 내부 오브젝트로 처리

DeviceAPI 오브젝트 중 Geolocation을 사용하는 경우 TypeDefinition에 해당 오브젝트의 ID 값을 "Geolocation"로 저장한 경우 브라우저에서 앱 실행 시 해당 오브젝트를 찾지 못하고 브라우저 내부 오브젝트로 처리하는 현상이 발생합니다.

웹브라우저에서 "Geolocation"라는 이름을 내부 오브젝트로 사용하고 있어 발생하는 현상입니다. ID 값을 "NexacroGeolocation"처럼 다른 이름으로 사용하면 정상적으로 사용할 수 있습니다.

"Geolocation" 뿐 아니라 다른 ID 값도 브라우저 내에서 사용하고 있는 오브젝트와 중복되는 경우 정상적으로 처리되지 못할 수 있습니다.

RP

작성일

설명

75116

2017-08-02

개별 브라우저의 동작 방식 차이입니다.

IE, Edge 브라우저 사용 시 발생하는 현상입니다.


2020-03-24

2020년 2월 최신 브라우저 기준으로 IE, Edge 외 다른 웹브라우저에서도 에러가 발생하는 현상을 확인했습니다.

90082

2020-08-27

17.1.2.200 이후 버전은 Geolocation 오브젝트 추가 시 ID값을 "NexaGeolocation"으로 설정합니다.

synchronous 모드에서 transaction 메소드 실행 시 제약

transaction 메소드의 파라미터 중 bAsync 항목 값을 false로 지정해 synchronous 모드에서 실행하는 경우 브라우저에 따라 앱이 정상적으로 동작하지 않을 수 있습니다.

브라우저

관련 오류

Chrome, Firefox, Edge

deprecation 메시지 출력

IE

transaction 종료 후 포커스를 잃어버리는 현상

RP

작성일

설명

74564

2017-07-25

개별 브라우저의 동작 방식 차이입니다.

synchronous 모드는 성능상의 문제로 일부 브라우저에서 deprecation으로 구분하고 있으며 브라우저 버전에 따라 추가적인 기능 제약이 있을 수 있습니다.


2020-03-24

Edge 브라우저 44.18362 버전에서 포커스를 잃어버리지 않으며 deprecation 메시지를 출력하는 현상 확인했습니다.

Edit 컴포넌트에 입력된 글자에 깜빡임 현상

Edit 컴포넌트에 텍스트 입력 후 포커스를 다른 곳으로 이동했다가 다시 Edit 컴포넌트에 포커스를 옮겼을 때 입력된 텍스트가 깜빡이거나 움직이는듯한 현상이 나타납니다.

RP

작성일

설명

75016

2017-07-27

개별 브라우저의 동작 방식 차이입니다.

윈도우 7 운영체제에서 IE 브라우저 사용 시 발생하는 현상입니다.

Safari 브라우저에서 setPrivateProfile, getPrivateProfile 메소드 실행 시 기능 제약

Safari 브라우저 사용 시 Application 오브젝트의 setPrivateProfile, getPrivateProfile 메소드를 실행했을 때 스크립트 에러가 발생합니다. 해당 에러는 아래와 같은 경우 발생하며 Safari 브라우저 운영정책에 따라 발생하는 에러입니다.

RP

작성일

설명

43492

42186

2015-6-25

Safari 브라우저 사용 시 특정 옵션을 설정한 경우 localStorage 기능을 사용할 수 없습니다. 해당 옵션을 적용하지 않는 경우에는 정상적으로 메소드 기능을 사용할 수 있습니다.

해당 제약사항은 iOS, 윈도우, 맥 운영체제의 Safari 브라우저에서 발생합니다.

Edit 컴포넌트 위에 다른 컴포넌트가 겹쳐졌을 때 캐럿이 투과되어 표시되는 현상

Edit 컴포넌트 위에 다른 컴포넌트가 겹쳐진 상태에서 아래에 위치한 Edit 컴포넌트로 포커스를 옮기고 캐럿이 표시되면 위에 겹쳐진 컴포넌트를 투과해 캐럿이 표시되는 현상이 발생합니다.

RP

작성일

설명

75777

2017-09-05

IE, Edge 브라우저 사용 시 발생하는 현상입니다. 해당 브라우저에서 DIV 태그로 감싸고 있는 INPUT 태그를 처리하면서 해당 현상이 발생합니다.


2020-03-24

Edge(80 이상 버전) 브라우저에서는 발생하지 않는 현상입니다.

현상이 발생하는 Edge 브라우저 버전 표기를 추가했습니다.

특정 스크립트가 일정 시간 이상 프로세스를 점유하고 있는 경우 중간에 발생하는 이벤트가 처리되지 못하는 제약

IE 브라우저에서 Form 오브젝트의 sleep 메소드를 실행하거나 For 문처럼 반복을 처리하는 스크립트가 일정 시간 프로세스를 점유하고 있는 경우 중간에 발생하는 다른 이벤트를 처리하지 못합니다.

예를 들어 sleep 메소드가 실행되고 있는 중에 Button 컴포넌트를 클릭해 이벤트를 실행하는 경우 sleep 메소드 실행 시 파라미터로 지정한 시간이 지나면 Button 컴포넌트의 이벤트를 처리합니다. 하지만 IE 브라우저의 경우에는 Button 이벤트가 처리되지 않습니다.

RP

작성일

설명

75144

2017-8-18

IE 브라우저 사용 시 발생하는 현상입니다.

IE 브라우저에서 코드 블로킹(Code Blocking)이 발생하는 경우, Body 영역의 포커스를 잃어버리면서 이벤트가 삭제됩니다.

컨텍스트 메뉴에서 "실행취소" 항목 선택 시 동작 방식의 차이

17.1.0.100 이후 버전에서는 IE 브라우저의 "실행취소" 항목이 비활성화 상태로 변경됩니다.

IE 브라우저에서 "실행취소" 항목 실행 시 autoskip, maxlength 등의 기능 처리에 영향을 미치고 있으며 이벤트 발생 시점을 특정할 수 없어 제품 기능으로 동작을 보장할 수 없습니다.

텍스트 편집 영역을 가지고 있는 컴포넌트에서 입력된 문자열을 선택한 후 마우스 오른쪽 버튼을 클릭해 컨텍스트 메뉴를 실행해 "삭제" 또는 "잘라내기"를 실행합니다. 다른 컴포넌트로 포커스를 이동해 컨텍스트 메뉴를 실행하고 "실행취소" 선택 시 브라우저에 따라 다른 방식으로 처리됩니다.

브라우저

결과값

Chrome, IE11, Edge(80 이상 버전)

"실행취소" 선택 시 동작하지 않음

(17.1.0.100 이후 버전에서는 IE에서 "실행취소" 항목 비활성화)

Firefox

다른 컴포넌트에서 "실행취소" 항목이 비활성화되어 선택할 수 없음

[NRE], Edge(44 이하 버전), Safari

컨텍스트 메뉴에 "실행취소" 항목이 표시되지 않으며 단축키 적용되지 않음

웹브라우저에서 INPUT 태그를 사용하는 경우에는 NRE와 일부 다르게 동작하는 부분이 있습니다. "실행취소" 항목 선택 시 웹브라우저에서 이벤트 정보를 전달하지 못해 발생하는 차이입니다.

브라우저

결과값 (HTML에서 INPUT 태그만 사용 시)

Chrome, IE11, Edge(80 이상 버전)

이전 컴포넌트로 포커스 이동하면서 입력값 원복

(17.1.0.100 이후 버전에서는 IE에서 "실행취소" 항목 비활성화)

Firefox

다른 컴포넌트에서 "실행취소" 항목이 비활성화되어 선택할 수 없음

Edge(44 이하 버전), Safari

"실행취소" 항목이 없지만 단축키(Ctrl+Z)를 입력하는 경우 이전 컴포넌트로 포커스 이동하면서 입력값 원복

RP

작성일

설명

75871

2017-10-10

개별 브라우저의 동작 방식 차이입니다.

83806

2019-09-24

개별 브라우저의 동작 방식 차이입니다.

17.1.0.100 이후 버전부터 IE 동작 방식이 변경됐습니다.


2020-03-24

Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다.

Edge 버전에 따라 동작 방식이 다릅니다.

onbeforeexit, onexit 이벤트 내 스크립트 실행 시 제약

Application 오브젝트의 onbeforeexit, onexit 이벤트 함수 내 작성한 스크립트 중 alert, confirm 메소드가 브라우저에 따라 처리되지 않을 수 있습니다. 브라우저 내에서 이벤트는 처리하지만, 함수 내 작성된 해당 메소드는 처리하지 않습니다.

브라우저

결과값

Chrome, Edge, Firefox,

onbeforeexit, onexit 이벤트 함수 내 해당 메소드 무시

[NRE], IE, Safari

onbeforeexit, onexit 이벤트 함수 내 해당 메소드 처리

onbeforeexit 이벤트는 HTML에서 beforeunload 이벤트를 받아서 처리하고 있습니다.

beforeunload 이벤트 내에서 해당 메소드를 무시하도록 HTML5 스펙에 권고하고 있으며 브라우저에 따라 처리방식이 달라 동작 방식 차이가 발생합니다.

https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload

RP

작성일

설명

76480

2017-10-10

개별 브라우저의 동작 방식 차이입니다.

85783

2019-06-28

onexit 이벤트에서도 같은 현상을 확인하고 제약으로 추가합니다.

텍스트 편집 영역을 가지고 있는 컴포넌트를 빠르게 이동하는 경우 포커스가 이동되지 않는 현상

iOS 운영체제를 사용하는 디바이스에서 Safari 브라우저를 사용하는 경우 Edit 컴포넌트처럼 텍스트 편집 영역을 가지고 있는 컴포넌트를 터치 동작으로 빠르게 이동할 때 포커스는 이동하지 않지만 status 상태는 변경되는 현상이 있습니다.

터치 동작을 빠르게 이동할 때 포커스가 이동하지 않는 현상은 iOS 운영체제에서 Safari 브라우저의 제약사항입니다. 넥사크로플랫폼에서는 브라우저에서 터치 이벤트가 발생할 때 status 상태를 변경하고 있는데 Safari 브라우저에서 터치 이벤트는 발생하지만 포커스를 이동하지 않고 있기 때문에 status 상태가 변경되는 현상도 같이 보이게 됩니다. 브라우저에서는 정상적으로 정보를 전달하면서 포커스가 이동하지 못하는 것이기 때문에 넥사크로플랫폼에서 이를 보정할 수 없습니다.

RP

작성일

설명

77192

2017-11-27

iOS 운영체제에서 Safari 브라우저 사용 시 발생하는 제약사항입니다.

status 상태는 정상적으로 브라우저에서 발생하는 이벤트를 처리하면서 발생하는 현상이며 브라우저 제약사항이 해소되면 더 이상 문제가 되지 않습니다.

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 브라우저 사용 시 발생하는 현상입니다.

컴포넌트의 enable 속성값이 false인 경우 이벤트가 상위 컴포넌트로 전달되는 방식 차이

텍스트 편집 영역을 가지고 있는 컴포넌트의 enable 속성값이 false인 경우 해당 영역을 마우스로 클릭했을 때 이벤트의 상위 컴포넌트(Div 또는 Form)로 전달되는 동작이 브라우저에 따라 다르게 처리됩니다.

브라우저

처리 방식

Firefox, Edge(44 이하 버전)

상위 컴포넌트로 이벤트 전달하지 않음

[NRE], 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-03-24

Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다.

Edge 버전에 따라 동작 방식이 다릅니다.

콜백함수에서 파일 대화상자를 띄우지 못하는 제약

transaction 메소드 실행 후 설정된 콜백함수 내에서 파일 대화상자를 실행하는 메소드를 호출하는 경우 특정 웹브라우저에서는 파일 대화상자를 띄우지 못합니다. 예를 들어 콜백함수 내에서 ExcelImportObject 오브젝트의 importData 메소드를 호출하더라도 파일 대화상자를 띄우지 못합니다.

사용자가 직접 마우스를 클릭해서 발생하는 이벤트가 아니고 스크립트에서 생성한 이벤트는 isTrusted 속성값이 false로 설정되는데, 특정 웹브라우저에서는 isTrusted 속성값에 따라 일부 액션이 제한될 수 있습니다.

브라우저

처리 방식

Firefox

파일 대화상자를 띄우지 못합니다.

[NRE], Chrome, IE, Firefox, Edge, Safari

실행 제약이 없습니다.

IE는 isTrusted 속성값을 지원하지 않습니다.

RP

작성일

설명

83198

2018-12-18

NRE, 웹브라우저 동작 방식 차이입니다.


2020-03-24

2020년 2월 최신 브라우저 기준으로 동작 확인하고 제약사항을 수정했습니다.

Modeless 팝업창에서 부모창으로 포커스를 지정할 수 없는 제약

웹브라우저에서는 open 메소드를 호출해 Modeless 팝업창을 띄운 경우 팝업창에 실행된 화면에서 부모창(또는 부모창의 컴포넌트)을 대상으로 setFocus 메소드 호출 시 포커스가 이동하지 않습니다.

부모창에 실행된 화면 내 포커스를 제어하기 위해서는 웹브라우저 창을 활성화해주어야 하는데, 강제적으로 웹브라우저 창의 활성화 여부를 제어할 수가 없으며 해당 기능을 지원할 수 없습니다.

17.0.0.1600 이후 버전은 NRE를 사용하는 경우 내부적으로 창을 제어해 Modeless 팝업창에서 부모창으로 포커스를 지정할 수 있습니다.

RP

작성일

설명

82777

2018-12-21

NRE, 웹브라우저 동작 방식 차이입니다.

trackPopup 메소드 실행 전 alert, confirm 메소드 실행 시 컴포넌트가 표시되지 않는 제약

PopupDiv, PopupMenu 컴포넌트의 trackPopup 메소드를 실행하기 전에 alert, confirm처럼 사용자가 버튼을 클릭해서 대화상자를 닫는 메소드가 실행되는 경우(아래 코드 참조) trackPopup 메소드를 실행되지 않는 것처럼 보이는 현상이 일부 브라우저에서 발생합니다.

this.Button00_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
	confirm('test');
	this.PopupMenu00.trackPopup(0,0);
};

trackPopup 메소드는 정상적으로 실행되고 있지만, 대화상자를 닫을 때 deactivate 이벤트가 발생하는 동시에 trackPopup 메소드가 실행되면서 컴포넌트가 표시되자마자 닫힙니다.

해당 제약은 Google Chrome, Opera 브라우저에서 발생하고 있으며, alert이나 confirm 메소드와 trackPopup 메소드를 순차적으로 사용하지 않아야 합니다.

RP

작성일

설명

83521

2019-02-13

웹 브라우저 동작 방식 차이입니다.

로딩 시 편집 영역을 가지는 컴포넌트가 첫 번째 포커스일 때 동작 방식의 차이

화면 로딩 시 첫 번째 포커스가 편집 영역을 가지는 컴포넌트인 경우 운영체제, 브라우저에 따라 동작 방식이 다릅니다.

브라우저

캐럿

키패드 표시

Desktop 환경

O

해당 없음

Android NRE

O

O

Android Default Web Browser

O

X

iOS NRE

X

X

iOS Default Web Browser

X

X

RP

작성일

설명

81363

2019-01-07

운영체제와 웹브라우저에 따라 처리 방식이 달라 발생하는 제약입니다.

TextArea 컴포넌트에 내용 입력 시 키패드가 올라오면서 캐럿 위치가 화면을 벗어나는 현상

TextArea 컴포넌트에 여러 줄의 텍스트가 입력된 상태에서 특정 위치로 캐럿 이동 시 키패드가 올라오면서 캐럿 위치가 화면에 표시되지 못하는 제약입니다. TextArea 컴포넌트가 키패드가 올라왔을 때 화면으로 표시되는 영역보다 큰 경우에는 캐럿 위치를 모든 케이스에 맞출 수 없습니다.

안드로이드 운영체제 기본 브라우저에서 실행 시 해당 제약이 확인되었으며 다른 실행 환경에서도 발생할 수 있습니다.

RP

작성일

설명

81443

2019-01-07

운영체제와 웹브라우저에 따라 처리 방식이 달라 발생하는 제약입니다.

컴포넌트의 padding 속성 적용 시 텍스트가 잘려서 표시되는 현상

컴포넌트에 padding 속성 적용 시 텍스트가 표시되는 영역과 padding 속성이 적용된 영역이 겹치는 경우 브라우저와 컴포넌트에 따라 다르게 표시됩니다.

아래의 경우 Edit, Button 컴포넌트의 padding 속성값을 20px로 지정했습니다. NRE의 경우에는 padding 영역만큼 텍스트가 잘려서 표시되는 반면, 웹브라우저에서는 컴포넌트에 따라 padding 속성값을 일부만 적용하고 텍스트는 잘리지 않게 표시합니다.

브라우저

처리 방식

[NRE]

padding 영역에 겹치는 텍스트는 잘려서 표시됩니다.

Edge, Firefox, IE, Chrome, Safari

padding 영역과 겹치는 경우 텍스트의 위치가 조정되며 텍스트가 잘려서 표시되지 않습니다.

RP

작성일

설명

78470, 78181

2018-03-02

운영체제와 웹브라우저에 따라 처리 방식이 달라 발생하는 제약입니다.

특정 스타일 조건에서 텍스트가 잘려서 표시되는 현상

상하 padding 속성값을 적용하지 않았을 때 특정 글꼴을 적용하면 텍스트 아랫부분이 잘려서 표시합니다.

조건

처리 방식

윈도우 7, 윈도우 8 운영체제에서 IE10 브라우저 사용 시

텍스트가 잘려서 표시됩니다.

padding 속성값에서 강제적으로 상하 padding 속성값을 설정하거나 다른 글꼴을 사용하면 텍스트가 잘려 보이는 현상을 우회할 수 있습니다.

RP

작성일

설명

84219

2019-03-20

운영체제와 웹브라우저에 따라 처리 방식이 달라 발생하는 제약입니다.

wordwrap 속성값이 "english"인 경우 텍스트가 잘려서 표시되는 현상

컴포넌트의 wordWrap 속성값이 "english"인 경우 특정 너비 이하로 컴포넌트의 크기가 변경되면 NRE와 웹브라우저가 다르게 텍스트를 표시합니다.

아래 이미지에서 빨간 테두리 선으로 표시한 부분은 크롬 브라우저에서 실행한 결과이고 테두리 선이 없는 쪽은 NRE에서 실행한 결과입니다. 전체 텍스트를 표시할 정도의 width 속성값을 설정한 경우에는 NRE와 웹브라우저가 같은 결과값을 보여주지만, 전체 텍스트를 표시하지 못할 정도로 width 속성값을 작게 지정한 경우에 NRE는 텍스트가 글자 단위로 줄바꿈 되어 표시되지만 웹브라우저는 영역을 벗어난 텍스트가 잘린 상태로 표시합니다.

TextArea 컴포넌트를 제외한 wordWrap 속성을 가진 컴포넌트에서 발생하는 현상입니다.

wordwrap 속성값이 "none"인 경우 텍스트 정렬 방식이 다르게 처리되는 제약 사항은 아래 항목을 참조하세요.

문자열에 줄바꿈 기호가 포함된 경우 텍스트 정렬 방식의 차이

RP

작성일

설명

82114

2019-03-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 이벤트가 발생합니다.

[NRE], 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-03-24

Edge 브라우저 엔진 변경에 따라 제약사항을 수정합니다.

Edge 버전에 따라 동작 방식이 다릅니다.

텍스트 편집 영역을 가진 컴포넌트가 마우스 휠 동작으로 스크롤 이동 시 화면을 벗어나는 경우 동작 차이

Edit, TextArea 컴포넌트처럼 텍스트 편집 영역을 가진 컴포넌트에 텍스트 입력 도중 마우스 휠을 사용해 화면을 움직여서 컴포넌트가 화면 밖으로 벗어나는 경우 텍스트를 계속 입력하면 일부 브라우저는 컴포넌트의 위치에 따라 스크롤 위치를 변경하지만 일부 브라우저는 스크롤 위치를 변경하지 않습니다.

IE 브라우저의 경우 스크롤 위치를 변경하면서 화면 밖에 있었던 컴포넌트를 화면 가장 위쪽에 표시되도록 합니다.

스크롤 위치는 이동하지 않더라도 컴포넌트의 포커스와 캐럿은 그대로 유지되기 때문에 텍스트를 계속 입력할 수는 있습니다.

브라우저

처리 방식

IE

스크롤 위치를 입력 포커스가 있는 컴포넌트로 이동합니다.

텍스트는 정상적으로 입력됩니다.

[NRE], Chrome, Edge, Firefox, Safari

스크롤 위치는 이동하지 않습니다.

텍스트는 정상적으로 입력됩니다.

RP

작성일

설명

84876

2019-04-24

개별 브라우저의 동작 방식 차이입니다.


2020-03-24

2020년 2월 최신 브라우저 기준으로 동작 확인하고 제약사항을 수정했습니다.

WebBrowser 컴포넌트에서 로딩한 컨텐츠 포커스 이동 시 키패드 제어 차이

NRE를 사용하는 경우 WebBrowser 컴포넌트 url 속성값으로 지정한 컨텐츠에 있는 텍스트 편집 영역에 포커스를 이동했을 때 키패드가 올라오면서 편집 영역을 가리는 현상이 발생합니다.

브라우저

처리방식

웹브라우저

키패드가 편집 영역을 가리지 않습니다.

[NRE]

키패드가 편집 영역을 가립니다.

RP

작성일

설명

83857

2019-03-26

개별 브라우저의 동작 방식 차이입니다.

swf 콘텐츠 위에 PopupDiv 컴포넌트가 배치되는 경우 border 속성이 표시되지 않는 현상

swf 콘텐츠 위에 HTML 콘텐츠가 배치되는 경우 여러 제약이 발생할 수 있습니다. 제목처럼 IE 브라우저에서 swf 콘텐츠 위에 PopupDiv 컴포넌트를 배치했을 때 border 속성이 표시되지 않는 경우에는 wmode="transparent" 옵션을 추가해서 swf 콘텐츠를 배치해야 합니다.

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="600" height="200" id="myFlashContent">
        <param name="movie" value="./logo.swf" />
        <param name="wmode" value="transparent" />
        <!--[if !IE]>-->
        <object type="application/x-shockwave-flash" data="./logo.swf" width="800" height="200">
            <param name="wmode" value="transparent" />
        <!--<![endif]-->
            <a href="http://www.adobe.com/go/getflashplayer">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
            </a>
        <!--[if !IE]>-->
        </object>
        <!--<![endif]-->
</object>

해당 이슈는 꽤 오래전부터 발생하던 것이며 넥사크로플랫폼과 무관하게 swf 콘텐츠와 관련된 제약입니다.

https://stackoverflow.com/questions/2040887/div-z-index-issue-with-flash-movie

RP

작성일

설명

83596

2019-04-03

개별 브라우저의 동작 방식 차이입니다.

웹브라우저에서 MainFrame 오브젝트의 onclose 이벤트 발생하지 않는 현상

웹브라우저에서 탭을 닫거나 웹브라우저 자체를 종료하는 경우 MainFrame 오브젝트의 onclose 이벤트는 발생하지 않습니다. 브라우저별로 onclose 이벤트가 발생하는 경우는 아래와 같습니다.

브라우저

onclose 이벤트 발생하는 경우

[NRE], 웹브라우저

Application 오브젝트의 exit 메소드 호출 시

[NRE]

MainFrame 오브젝트의 타이틀바 영역에서 닫기 버튼 클릭 시

RP

작성일

설명

85783

2019-06-28

NRE, 웹브라우저 동작 방식 차이입니다.

Plugin 컴포넌트 위에 PopupDiv 컴포넌트가 배치되는 경우 border 속성이 표시되지 않는 현상

Plugin 컴포넌트에서 ActiveX 콘텐츠(Windowed plugin)를 로딩하고 그 위에 PopupDiv 컴포넌트를 배치했을 때 PopupDiv 컴포넌트와 Plugin 컴포넌트가 겹쳐지는 영역에서 border 속성이 표시되지 않습니다. border 속성을 표시하기 위해서는 PopupDiv 컴포넌트의 구조를 수정해야 하는데 영향도가 클 수 있어 오류를 수정하지 않고 현재의 상태를 유지하고 있습니다.

RP

작성일

설명

85137

2019-05-30

개별 브라우저의 동작 방식 차이입니다.

Grid 컴포넌트에서 브라우저에 따라 oncelldblclick 이벤트가 다르게 처리되는 현상

Grid 컴포넌트 Cell 오브젝트의 속성 중 edittype 속성값을 셀 클릭 시에 입력 컨트롤이 활성화되는 값(button, date, mask, readonly, text, textarea 등)으로 설정한 경우 해당 셀에서 더블클릭 동작 시 oncelldblclick 이벤트가 브라우저에 따라 발생하지 않는 경우가 있습니다.

Cell 오브젝트의 경우 클릭 동작 시 edittype 속성에 따라 새로운 컨트롤이 노출되는데, 이 과정에서 브라우저에 따라 더블 클릭 동작을 처리하지 못하는 현상입니다.

브라우저

처리 방식

Firefox

oncellclick -> oncellclick

[NRE], Chrome, Edge, IE

oncellclick -> oncellclick -> oncelldblclick

RP

작성일

설명

84981

2019-07-12

개별 브라우저의 동작 방식 차이입니다.

WebBrowser 컴포넌트에서 휠 스크롤이 동작하지 않는 현상

WebBrowser 컴포넌트의 url 속성값으로 현재 도메인과 다른 도메인 컨텐츠를 설정한 경우 호출된 컨텐츠에 스크롤바가 없으며(강제로 스크롤바를 없앤 경우), 컨텐츠 크기로 인해 WebBrowser 컴포넌트에 스크롤바가 활성화된 경우 휠 스크롤이 동작하지 않습니다.

브라우저

처리 방식

Chrome, Edge, Firefox, IE, Safari

휠 동작 이벤트 처리되지 않음

[NRE]

휠 동작으로 컨텐츠 스크롤할 수 있음

RP

작성일

설명

86008

2019-09-18

Cross Domain 환경일 경우 same-origin 정책으로 인해 IFRAME에서 발생하는 이벤트 핸들링이 되지 않는 제약입니다.

일본어 IME 입력 중 입력 문자를 빠르게 입력하는 경우 오류

MaskEdit 컴포넌트의 type 속성값을 "string", format 속성값을 "99-99-99"로 설정하고 일본어 IME 입력 시 아래와 같은 경우 캐럿 위치나 입력값이 잘못 처리될 수 있습니다.

format 속성값은 예시이며, 다른 설정값에서도 제약이 발생할 수 있습니다.

MaskEditControl을 사용하는 Calendar, Grid, Spin 컴포넌트에서도 같은 현상이 발생할 수 있습니다.

DOM 레벨에서 캐럿 위치 처리 방식에 대한 브라우저 별 차이로 발생하는 문제이며 넥사크로플랫폼에서 이를 보정할 수 없습니다.

RP

작성일

설명

89301

88784

2020-06-11

윈도우 운영체제 Chrome, Edge(80 이상 버전)에서 발생합니다.

개별 브라우저의 동작 방식 차이입니다.

system.print 메소드 실행 시 2페이지 이후 콘텐츠를 출력하지 못하는 현상

출력할 대상 콘텐츠가 2페이지가 넘어가는 경우 Firefox 브라우저에서 system.print 메소드 실행 시 2페이지 이후 콘텐츠를 출력하지 못하는 현상이 발생합니다.

position:absolute 스타일을 사용한 HTML/CSS 콘텐츠에서도 2페이지 이후 콘텐츠를 출력하지 못하는 현상이 발생합니다.

해당 현상은 position:absolute 스타일 관련 브라우저 버그로 등록되어 있습니다.

https://bugzilla.mozilla.org/show_bug.cgi?id=546559

https://bugzilla.mozilla.org/show_bug.cgi?id=179135

RP

작성일

설명

89569

2020-06-26

Firefox 브라우저에서 발생합니다.

개별 브라우저의 동작 방식 차이입니다.

일본어 입력 시 확정 전 value 속성값으로 반영되는 현상

Chrome, Edge 브라우저에서 일본어 IME에서 입력 후 확정한 문자열을 CTRL+A 단축키로 선택한 상태에서 첫 번째 글자와 같은 글자를 다시 입력하면 확정하기 전에 입력한 글자가 value 속성값으로 반영될 수 있습니다.

예를 들어 Edit 컴포넌트에 "あああ" 문자열을 입력하고 확정한 후 CTRL+A 단축키로 문자열을 선택한 상태에서 "あ"를 입력할 때 value 속성값은 아래와 같이 반영됩니다.

브라우저

value

Chrome, Edge

[NRE], Firefox, IE, Safari

あああ

RP

작성일

설명

89944

2020-09-07

개별 브라우저의 동작 방식 차이입니다.

MaskEdit 컴포넌트 텍스트 편집 영역에 포커스가 있는 경우 IME 동작 차이

MaskEdit 컴포넌트는 type, format 속성 설정에 따라 제한된 ASCII 문자만 입력할 수 있습니다.

사용자 편의를 위해 MaskEdit 컴포넌트의 텍스트 편집 영역에 포커스가 있을 때 IME 사용 제어가 가능한 일부 브라우저에서 IME를 비활성화 상태로 변경합니다. IME 비활성화 상태에서는 ASCII 문자 입력만 허용됩니다.

브라우저

포커스 시 IME 처리 방식

[NRE], 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

개별 브라우저의 동작 방식 차이입니다.

제품 기능 제약

Calendar 컴포넌트의 popuptype 속성값에 따른 제약

모바일 디바이스를 사용하는 환경에서 Calendar 컴포넌트의 popuptype 속성값이 "system"일 경우 Calendar 컴포넌트에서 지원하는 이벤트가 아래와 같이 달라집니다.

지원여부

대상 이벤트

지원

canchange, onchanged, oncloseup, oncontextmenu, ondrag, ondragenter,

ondragmove, ondrop, ondropdown, oneditclick, oninnerdatachanged, oninput,

onkeydown, onkeyup, onkillfocus, onlbuttondown, onlbuttonup, onmouseenter,

onmouseleave, onmousemove, onmove, onrbuttondown, onrbuttonup, onsetfocus,

onsize, ontouchend, ontouchmove, ontouchstart

미지원

ondayclick

RP

작성일

설명

47974

2016-05-13

Calendar 컴포넌트의 popuptype 속성값에 따라 일부 이벤트가 지원되지 않습니다.

ExcelExportObject 오브젝트에서 생성한 엑셀 파일의 셀을 복사해 다른 문서로 붙여 넣으면 색상이 달라지는 현상

ExcelExportObject 오브젝트의 exporttype 속성값을 nexacro.ExportTypes.EXCEL 상수값으로 지정한 경우 내려받은 엑셀 파일을 열어 셀 항목을 복사해서 새로운 엑셀 문서에 복사할 때 지정된 색은 복사되지 않습니다.

exporttype 속성값의 default 값은 nexacro.ExportTypes.EXCEL 입니다.

RP

작성일

설명

48114

2016-05-18

Excel 97~2003 버전의 경우 사용자가 지정한 색 정보는 해당 파일에만 적용됩니다. 셀 항목을 복사해 다른 파일로 붙여 넣는 경우에는 해당 색 정보를 찾을 수 없어 사용자가 원하는 색이 아닌 다른 색으로 처리됩니다.

화면 확대, 축소 시 Grid 컴포넌트의 셀 선택 기능 제약

Grid 컴포넌트의 selecttype 속성값이 "multiarea"일 경우 브라우저를 확대하거나 축소한 상태에서 Cell 영역을 마우스로 드래그해서 다중 선택하는 경우 선택영역이 원하는 영역과 다르게 선택됩니다. Grid 컴포넌트 내 다중 선택 시 Grid 컴포넌트 영역 밖으로 마우스 포인터가 벗어나더라도 선택 기능이 동작해야 하므로 스크린 좌푯값을 사용합니다. 이 과정에서 선택영역이 다르게 선택되는 문제가 발생합니다.

브라우저

제약 발생 환경

웹브라우저

브라우저 자체 확대, 축소 기능 사용 시

RP

작성일

설명

70879

2017-01-17

선택영역이 다르게 선택되는 문제는 아래와 같은 원인을 가지고 있습니다.

1) 확대 또는 축소했을 때 화면상에서 컴포넌트의 크기는 변하지만, HTML 노드에서 크기는 바뀌지 않습니다.

2) 확대 또는 축소했을 때 화면상에서 컴포넌트의 크기가 변하면서 마우스가 컴포넌트 위에 머무는 범위가 달라집니다.

WebBrowser 컴포넌트의 인쇄 시 제약

System.print 메소드 호출 시 창 크기가 작아 스크롤바가 활성화되면서 화면에 표시되지 않는 영역까지 인쇄할 수 있습니다. 하지만 Form 내에 WebBrowser가 포함된 경우에는 print 메소드 호출 시 자바스크립트의 window.print 메소드를 실행합니다. window.print 메소드는 화면에 표시되는 영역만 인쇄합니다.

브라우저

System.print 처리 방식

[NRE]

WebBrowser 컴포넌트와 상관없이 Form 영역 모두 인쇄

Chrome, Edge, Firefox, IE, Safari

WebBrowser 컴포넌트가 포함된 경우에는 화면에 보이는 영역만 인쇄

아래 그림같은 경우 Form에 Edit 컴포넌트 2개가 위 아래로 배치되어 있고 오른쪽에 WebBrowser 컴포넌트가 배치되어 지도를 보여주고 있습니다. System.print 메소드 호출 시 NRE 환경에서는 빨간색 영역을 인쇄하지만 웹브라우저에서는 실행된 창에 보이는 파란색 영역을 인쇄합니다.

RP

작성일

설명

71680

2017-02-08

웹브라우저 기능 제약으로 Form에 WebBrowser 컴포넌트가 포함된 경우에 메소드 처리 방식이 NRE와 웹브라우저가 다르게 구현됐습니다.


2017-06-15

이해를 돕기 위해 간단한 예제 이미지를 추가했습니다.

자바스크립트 메소드 사용 시 제약

지시자를 지정하지 않고 alert, confirm 메소드를 호출하는 경우에는 자바스크립트의 메소드가 실행됩니다. 자바스크립트의 메소드는 넥사크로플랫폼에서 제공하는 메소드와 동작 방식이 다를 수 있습니다.

this.Button00_onclick = function(obj:nexacro.Button,  e:nexacro.ClickEventInfo) {
	alert("TEST"); // javascript alert method
	this.alert("TEST"); // Form object alert method
	nexacro.getApplication().alert("TEST"); // Application object alert method
}

아래 그림과 같이 넥사크로플랫폼에서 재정의한 메소드는 내부적으로 연계된 동작을 수행하기 위한 코드를 포함하고 있습니다. 그래서 자바스크립트의 기본 메소드와는 다른 형식으로 처리됩니다.

RP

작성일

설명


2017-05-22

넥사크로플랫폼 스크립트와 자바스크립트 메소드의 이름이 같아 생길 수 있는 제약입니다. 개발 시에는 Form 또는 Application 오브젝트의 메소드를 사용하는 것을 권장합니다.

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'">

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy

X-Frame-Options

DENY 옵션 적용 시 일부 기능이 동작하지 않을 수 있습니다. 넥사크로플랫폼 컴포넌트 중 generate 시 IFRAME을 사용하는 컴포넌트(WebBrowser)과 기능(이미지 처리, 텍스트 사이즈 캐시)이 동작하지 못합니다.

아래와 같이 DENY 옵션을 사용하지 않으면 적용할 수 있습니다.

<meta http-equiv="X-Frame-Options" 
    content="… " />

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options

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 이벤트를 사용하는데 이때 웹문서에서 전달된 값을 처리할 때 NRE의 경우 처리할 수 있는 값의 길이 제약이 있습니다.

처리할 수 있는 값의 길이는 최대 512문자(한글, 일본어 256자)입니다.

RP

작성일

설명

76512

2017-10-19

[NRE]에서 웹브라우저(IE)의 title 속성을 사용해 값을 전달받고 있습니다. 해당 속성값 길이에 대한 제약이 있습니다.


2018-08-08

해당 제약사항은 윈도우 운영체제에서만 발생합니다.

macOS, iOS, Android 운영체제에서는 제약 없이 동작합니다.

안드로이드 운영체제에서 Fullscreen 설정 시 키패드가 입력 컴포넌트를 가리는 현상

AndroidManifest.xml 파일 설정 시 아래와 같이 Fullscreen 관련 설정을 추가한 경우 입력 컴포넌트에 포커스를 옮겼을 때 키패드로 인해 입력 시 제약이 있을 수 있습니다.

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

RP

작성일

설명

77480

2017-12-13

안드로이드 운영체제에서 사용하는 넥사크로플랫폼 앱은 FullScreen을 지원하지 않습니다.

안드로이드 운영체제에서 컴포넌트가 최상위에 표시되는 현상

안드로이드 NRE에서는 일부 컴포넌트 위에 다른 컴포넌트를 배치할 수 없습니다. 팝업으로 표시되는 컴포넌트도 해당하는 컴포넌트와 겹쳐지는 경우 해당 컴포넌트 아래 표시됩니다.

대상 컴포넌트는 아래와 같습니다.

GoogleMap, WebBrowser

RP

작성일

설명

78897

2018-03-15

안드로이드 운영체제에서 WebBrowser 컴포넌트를 포함한 앱 실행 시 제약이 있습니다.

89336

2020-04-23

GoogleMap 컴포넌트에서 같은 제약을 확인하고 내용을 수정했습니다.

fittocontents 속성 적용 시 텍스트 일부가 잘려 보이는 현상

Static 컴포넌트에서 usedecorate 속성값을 true로 설정하고 기울임(italic) 효과를 지정하거나 font 속성에서 기울임(italic) 속성값을 지정한 상태에서 fittocontents 속성값을 "width"로 지정하는 경우 텍스트 일부가 잘려 보이는 현상이 발생합니다. fittocontents 속성을 적용할 경우 문자열의 너비를 계산하는데 기울임 효과를 적용한 상태의 너비를 정확하게 계산할 수 없어서 발생하는 문제입니다.

RP

작성일

설명

80378

2018-07-13

fittocontents 속성 적용 시 기울임 효과를 적용한 문자열의 너비를 계산할 수 있는 방법이 없어서 문자열 일부가 잘려 보이는 현상입니다.

UTF-8 인코딩이 아닌 파일을 열었을 때 문자열이 깨져서 표시되는 현상

인코딩 형식이 UTF-8이 아닌 경우 문자열이 깨져서 표시됩니다. 예를 들어 EUC-KR 인코딩으로 저장된 파일을 넥사크로 스튜디오에서 열었을 때 한국어 문자열은 깨져서 표시됩니다.

넥사크로 스튜디오 내에서 생성하는 파일은 BOM(Byte Order Mark)이 붙지 않은 UTF-8 인코딩 형식의 파일로 생성합니다. BOM이 붙지 않는 파일은 에디터에서 파일을 열 때 인코딩 방식을 체크하게 되면 탐색 시간이 오래 걸리는 문제가 있습니다. 때문에 넥사크로 스튜디오에서는 인코딩 형식이 UTF-8이라고 가정하고 파일을 처리합니다.

RP

작성일

설명

80075

2018-12-14

제품 성능을 위해 파일 처리 기능을 제약합니다.

WebBrowser 컴포넌트에서 다른 도메인 컨텐츠를 연결한 경우 mousemove 이벤트가 멈추는 현상

WebBrowser 컴포넌트의 url 속성값으로 현재 도메인과 다른 도메인 컨텐츠를 설정한 경우 창 크기를 변경하려 할 때, WebBrowser 컴포넌트 영역에서 mousemove 이벤트가 멈춥니다.

아래 그림에서 1번 위치에서 팝업창의 경계를 마우스 왼쪽 버튼을 클릭해서 드래그하면서 창 크기를 조정하려고 시도합니다. 하지만 WebBrowser 컴포넌트와 접하는 2번 위치에서 mousemove 이벤트가 멈추면서 크기를 조정할 수 없습니다.

RP

작성일

설명

83330

2019-01-15

Cross Domain 환경일 경우 same-origin 정책으로 인해 IFRAME에서 발생하는 이벤트 핸들링이 되지 않는 제약입니다.

system.osversion 속성값 처리 시 제약

system.osversion 속성값 처리 시 정확한 운영체제 이름을 반환하지 않습니다. 해당 속성값 처리 시 navigator.userAgent 문자열 값으로 확인하고 값을 반환하는데, 2개 이상의 운영체제가 같은 문자열을 반환하기 때문에 발생하는 제약입니다.

system.osversion 속성에서 반환하는 값은 아래와 같습니다.

윈도우 서버 제품의 경우 윈도우 업데이트나 버전에 따라 달라질 수 있습니다.

system.osversion

대상 운영체제

Windows Server 2003 / Windows XP 64-bit

Windows XP x64, Windows Server 2003 R2, Windows Home Server

Windows Vista

Windows Vista, Windows Server 2008

Windows 7

Windows 7, Windows Server 2008 R2, Windows Home Server 2011

Windows 8

Windows 8, Windows Server 2012

Windows 8.1

Windows 8.1, Windows Server 2012 R2

Windows 10

Windows 10, Windows Server 2016, Windows Server 2019

RP

작성일

설명

83650

2019-02-08

navigator.userAgent 정보에서 윈도우 서버 제품 여부를 확인할 수 없어서 발생하는 제약입니다.

ColumnInfo 오브젝트의 type 속성값을 변경한 후 변경된 type에 해당하는 값을 설정하지 못하는 제약

Dataset 오브젝트 생성 후 ColumnInfo 오브젝트의 type 속성값을 변경하고 변경된 type에 해당하는 값을 설정하려 하면 값이 설정되지 않습니다. Dataset 오브젝트 생성 시 내부적으로 ColumnInfo 오브젝트의 type 속성값에 해당하는 변환 함수를 연결해놓는데, type 속성값 변경 시 연결된 변환 함수가 바뀌지 않아 발생하는 현상입니다.

예를 들어 아래와 같은 오류가 발생할 수 있습니다. 원래 ColumnInfo 오브젝트의 type 속성값이 "BIGDECIMAL"인 경우 아래와 같이 스크립트를 작성하고 실행하면 type 속성값이 "STRING"으로 바뀌고 "234%"라는 값이 설정되어야 하지만 변환 함수에서 "BIGDECIMAL" 규칙에 따라 처리하면서 타입이 맞지 않기 때문에 빈값을 설정하게 됩니다.

var colInfo = this.Dataset00.getColumnInfo(0);
colInfo.set_type("STRING");
this.Dataset00.setColumn(2, 0, "234%");

해당 오류는 Dataset 오브젝트의 다른 기능에 영향도를 가지고 있어서 검토 후 수정될 예정입니다. 해당 오류가 수정되기 전까지 제약 사항으로 처리합니다.

RP

작성일

설명

83193

2019-02-14

운영 중인 기능에 다른 영향을 미칠 수 있어 검토 전까지 수정을 보류하고 제약 사항으로 처리합니다.

스타일 편집기 컴포넌트 프리뷰 창에서 Status에 따른 상태가 변경되지 않는 현상

넥사크로 스튜디오에서 테마 또는 XCSS 파일 편집 시 스타일 편집기에서 선택자를 선택하면 컴포넌트 프리뷰 창에 선택자의 Status에 따라 미리보기를 제공합니다. Calendar, Grid 컴포넌트처럼 하위 컨트롤을 가지고 있으면서 프레임워크 내부적으로 접근 방식을 결정하는 일부 컴포넌트는 Status에 따른 미리보기가 정확하게 지원되지 않습니다.

실행에는 문제가 없으나 해당 기능을 지원하기 위해서 프레임워크 구조를 변경해야 하는 문제가 있어, 오류를 수정하지 않고 현재의 상태를 유지하고 있습니다.

아래 그림과 같이 스타일 편집기에서는 disabled 상태의 미리보기를 제공하지 않지만, 화면 디자인 상태에서 enable 속성값을 false로 지정한 경우에는 정상적으로 미리보기를 지원합니다.

RP

작성일

설명

85014

2019-06-05

해당 오류는 수정되어야 하지만 프레임워크 구조에 영향을 미칠 수 있어 오류를 수정하지 않고 현재의 상태를 유지하고 있습니다.

LiteDBConnection 오브젝트에서 사용할 DB 파일을 배포하지 못하는 제약

iOS 운영체제 앱 배포 시 Update Type을 "Server"로 설정한 경우 LiteDBConnection 오브젝트에서 사용할 DB 파일을 직접 배포할 수 없습니다. iOS 운영체제의 권한 처리에 대한 제약이며 LiteDBConnection 오브젝트를 사용해야 하는 경우 아래와 같이 스크립트로 DB 파일을 직접 생성해서 사용할 수 있습니다.

/**
 * open 메소드 실행 시 LiteDBConnection.openReadWriteCreate 옵션을 설정합니다.
 */
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
	this.LiteDBConnection00.open("%USERAPP%t.s3db", LiteDBConnection.openReadWriteCreate);
}

/**
 * DB 파일을 생성하고 연결된 상태에서 데이터 테이블을 생성하고 필요한 작업을 처리합니다.
 */
var CREATE_QUERY = "CREATE TABLE Persons ()";
this.LiteDBConnection00_onsuccess = function(obj:nexacro.LiteDBConnection,e:nexacro.LiteDBEventInfo)
{
    switch(e.reason)
    {
        case 5: // LiteDBConnection open()
            this.LiteDBStatement00.set_ldbconnection(this.LiteDBConnection00);
            this.LiteDBStatement00.executeUpdate(CREATE_QUERY);
            break;  
	}
}

RP

작성일

설명

90369

2020-10-08

앱 배포 방식에 따른 제약사항입니다.

DB 파일을 직접 배포하지 않고 특정 시점에 DB 파일을 생성해 접근하는 방식으로 제약사항을 회피할 수 있습니다.

이름 앞부분이 같은 글꼴 사용 시 적용되지 않는 현상

글꼴 이름 앞부분이 같은 경우 동시에 사용할 때 발생하는 현상입니다.

윈도우 NRE에서 처음 생성되는 컴포넌트에 적용한 글꼴 이름에 이후 생성되는 컴포넌트에 적용한 글꼴 이름이 아래와 같이 포함된 경우 나중에 생성된 컴포넌트에 처음 생성된 컴포넌트 글꼴이 반영되는 제약이 발생합니다.

Arial Black
Arial

예를 들어 첫 번째 Static 컴포넌트의 글꼴이 "Arial Black"이고 두 번째 Button 컴포넌트의 글꼴이 "Arial"인 경우 아래와 같이 표시됩니다. 웹브라우저에서는 "Arial Black"와 "Arial"이 구분되어 처리되는데 윈도우 NRE에서는 "Arial Black"로만 처리됩니다.

Form이 로딩되는 순서에 영향을 받는 제약 사항입니다.

RP

작성일

설명

91383

2021-02-02

운영하고 있는 기능에 영향을 미칠 수 있어 수정을 보류하고 제약 사항으로 처리합니다.

HTML body 태그 내 contenteditable 속성값이 true인 경우 스크롤 동작 제약

WebBrowser 컴포넌트에서 로딩한 HTML 콘텐츠의 body 태그 내에 contenteditable 속성이 포함되어 있고 속성값이 true인 경우 키패드가 올라온 상태에서 스크롤이 동작하지 않습니다.

<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body contenteditable="true">

같은 콘텐츠를 웹 브라우저에서 실행하면 문제가 없으며 안드로이드 운영체제 NRE에서 실행하는 경우에만 스크롤 동작에 제약이 발생합니다.

넥사크로플랫폼 NRE의 구조적인 문제로 발생하는 제약입니다.

RP

작성일

설명

91925

2021-04-13

안드로이드 운영체제 NRE 실행 시 발생하는 제약입니다.

해당 오류는 수정되어야 하지만 프레임워크 구조에 영향을 미칠 수 있어 오류를 수정하지 않고 현재의 상태를 유지하고 있습니다.

상태바 영역을 두 번 탭할 때 최상단으로 한 번에 스크롤되지 않는 현상

iOS 운영체제는 상태바 영역을 두 번 탭하면 최상단으로 한 번에 스크롤되는 기능을 지원하고 있습니다. 하지만 사파리 브라우저에서 넥사크로플랫폼 WRE 실행 시에는 아래와 같은 이유로 해당 기능을 지원하지 않습니다.

RP

작성일

설명

93942

2022-02-10

운영하고 있는 기능에 영향을 미칠 수 있어 수정을 보류하고 제약 사항으로 처리합니다.

이벤트 핸들러 함수 내에서 alert, confirm 메소드 실행 시 동작이 달라지는 제약

Grid 컴포넌트의 selectchangetype 속성은 속성값에 따라 마우스 클릭 시 이벤트 발생 순서가 달라집니다. selectchangetype 속성값이 'down'인 경우 마우스 클릭 시 Grid 컴포넌트의 onlbuttondown 이벤트부터 시작해서 아래와 같은 순서로 이벤트가 발생합니다.

(1) Grid.onlbuttondown

(2) Dataset.canrowposchange

(3) Dataset.onrowposchanged

(4) Grid.oncellposchanged

(5) Grid.onselectchanged

(6) Grid.onlbuttonup

(7) Grid.oncellclick

위의 이벤트 목록에서 첫 번째(onlbuttondown)부터 다섯 번째(onselectchanged) 이벤트 핸들러 함수 내 alert, confirm 메소드를 실행하는 경우 창을 닫기 위해 사용자가 열린 창을 클릭하거나 Enter 키를 입력하는 동작이 추가로 발생하며 이벤트 발생 순서에 영향을 미칩니다.

alert, confirm 메소드 실행이 필요한 경우에는 selectchangetype 속성값을 'up'으로 설정해 이벤트 발생 순서를 변경할 수 있습니다. selectchangetype 속성값 변경 시 다른 작업에 영향을 미칠 수 있으니 신중하게 검토하고 반영해주세요.

RP

작성일

설명

95162

2022-08-30

내부적으로 처리되어야 할 이벤트 중간에 사용자 동작이 발생하며 이벤트 발생 순서에 영향을 미치는 제약입니다.

제품제약사항 제외 항목

동기 통신 지원 제약

iOS 운영체제 버전에 따라 동기 통신을 지원하지 않으며 비동기 방식만 지원할 수 있습니다.

운영체제

처리 방식

iOS 9 이상

WebView가 WKWebView 모드로 동작해서 동기 방식을 지원합니다

iOS 9 미만

WebView가 UIWebView 모드로 동작하므로 동기 방식을 지원하지 않습니다.

RP

작성일

설명

42234

2015-05-12

iOS NRE에서 바이너리/압축 통신은 DeviceAPI를 사용해 구현되어 있습니다.

iOS에서 제공하는 WebView 환경에서는 동기 통신을 처리할 수 없습니다.


2018-08-03

iOS 9 이상인 경우에는 동기 방식을 지원합니다.


2019-11-22

2019년 3월 iOS 최소 사양을 iOS 9으로 변경 공지했습니다.

이에 따라 해당 건은 제약에서 제외합니다.

Radio 컴포넌트의 선택 상태 처리 오류

접근성 속성을 활성화한 상태에서 스크린 리더 소프트웨어 사용 시 Radio 컴포넌트의 선택 상태를 정상적으로 처리하지 못하는 오류가 있습니다.

특정 아이템이 선택된 경우 "해제 선택한아이템..."으로 음성을 출력하고 있습니다. "해제"라는 문자열이 음성으로 출력되어 사용자에게 혼란을 줄 수 있습니다.

RP

작성일

설명

81038

2018-07-27

스크린 리더 소프트웨어의 처리 방식에 따른 오류입니다.

엑스비전테크놀로지 센스리더 사용 시 해당 현상이 발생하고 있습니다.


2019-12-16

센스리더 최신 버전(7.2)에서 해당 오류가 해소된 것을 확인했습니다.

이에 따라 해당 건은 제약에서 제외합니다.

컴포넌트의 EventHandler 메소드 처리 오류

컴포넌트의 addEventHandler 또는 setEventHandler 메소드를 사용해 이벤트 핸들러 함수를 추가하는 경우 넥사크로플랫폼에서 지원하지 않는 eventid를 지정하면 실패로 처리해 -1값을 반환합니다. 하지만 내부적으로 관리하는 컴포넌트의 이벤트 목록 중 실제 구현되지 않은 이벤트가 정의된 경우가 있어 실패가 아닌 성공으로 처리해 0을 반환합니다.

예를 들어 Edit 컴포넌트는 onclick 이벤트를 지원하지 않지만 내부적으로 관리하는 Edit 컴포넌트의 이벤트 목록에는 onclick 이벤트가 포함되어 있습니다. 실행 시 아래와 같이 처리됩니다.

this.Button00_onclick = function(obj:nexacro.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

해당 오류는 수정되어야 하지만 일부 사용자가 오류 기능을 활용해 다른 용도로 사용하고 있어 오류를 수정하지 않고 현재의 상태를 유지하고 있습니다.


2019-12-17

넥사크로플랫폼 14 제약으로 등록된 건이 넥사크로플랫폼 17로 이관되면서 제외되지 못한 건입니다. 넥사크로플랫폼 17 초기 버전부터 해당 오류는 수정됐습니다.

이에 따라 해당 건은 제약에서 제외합니다.

border 영역 처리 시 브라우저별 차이

컴포넌트의 background 영역은 border 영역을 포함하고 있습니다. 예를 들어 border를 투명하게(transparent) 설정하면 컴포넌트의 background 영역이 표시됩니다. 아래 이미지의 경우 Div 컴포넌트의 background 색상을 지정하고 border 속성값을 10px로 지정했을 때 background 영역 위에 border가 표시되는 것을 확인할 수 있습니다.

하지만, NRE의 경우에는 같은 속성값이라도 border 영역을 제외한 나머지 영역을 background 영역으로 처리합니다. 그리고 border 영역을 투명하게 표시하면서 컴포넌트의 부모 오브젝트의 background 색상이 노출됩니다.

브라우저

처리 방식

[NRE]

border 영역을 제외한 나머지 영역을 background 영역으로 처리합니다.

Chrome, Edge, Firefox, IE, Safari

border 영역을 포함한 영역을 background 영역으로 처리합니다.

RP

작성일

설명

83169

2019-02-26

기존 기능에 다른 영향을 미칠 수 있어 검토 전까지 수정을 보류하고 제약 사항으로 처리합니다.

83979

2019-12-19

background-origin, background-clip 속성이 추가되어 NRE, 웹브라우저 모두 같은 형식으로 영역 처리를 할 수 있습니다.

이에 따라 해당 건은 제약에서 제외합니다.

setFocus 메소드 실행 시 캐럿이 이동하지 않는 현상

Edge 브라우저 사용 시 Edit 계열 컴포넌트의 onkillfocus 이벤트 함수 내에서 같은 컴포넌트의 setFocus 메소드를 호출하는 경우 포커스는 이동하지만 캐럿은 이동하지 못하는 현상이 있습니다.

예를 들어 두 개의 Edit 컴포넌트가 있을 때 첫 번째 Edit 컴포넌트(Edit00)에 포커스가 있는 상태에서 두 번째 Edit 컴포넌트(Edit01)의 편집 영역을 클릭해 포커스를 이동하는 경우 첫 번째 Edit 컴포넌트의 onkillfocus 이벤트가 발생하는데 이때 포커스는 첫 번째 Edit 컴포넌트로 이동하지만 캐럿은 두 번째 Edit 컴포넌트에 표시되는 현상입니다.

this.Edit00_onkillfocus = function(obj:nexacro.Edit,e:nexacro.KillFocusEventInfo)
{
	if(obj.value == null) obj.setFocus();
};

RP

작성일

설명

71955

2017-02-23

Edge 브라우저 버그입니다.


2020-03-24

2월 Edge 브라우저 44.18362 버전에서 정상 동작 확인했습니다.

이에 따라 해당 건은 제약에서 제외합니다.