운영 과정에서 예외적으로 발생할 수 있는 상황에 대한 대처 방안을 정리한 것입니다. 사용 환경에 따라 적용 방식이 달라질 수 있으니 참고로만 활용하시기 바랍니다.
웹브라우저 옵션
사용자가 웹브라우저에서 특정한 목적으로 옵션을 변경했을 경우에 애플리케이션에서 해당 기능을 사용하고 있다면 정상적인 동작을 하지 못할 수 있습니다. 주로 아래와 같은 상황에서 문제가 생길 수 있습니다.
자바스크립트 활성화
사용자가 웹브라우저에서 자바스크립트를 사용할 수 없도록 설정했을 경우에는 애플리케이션이 정상적으로 동작하지 않습니다. 일반적으로 기본 옵션은 활성화 상태이지만 사용자가 다른 옵션을 선택할 수 있으므로 애플리케이션이 화면에 보이지 않을 때는 해당 옵션을 먼저 확인합니다.
사용하는 웹브라우저에 따라 자바스크립트 사용 옵션을 활성화해주어야 합니다. 사용하는 버전에 따라 해당 옵션은 달라질 수 있으며 상세한 내용은 아래 링크 또는 각 웹브라우저 도움말을 참고하세요.
http://www.enable-javascript.com
인터넷 익스플로러의 경우에는 아래 옵션에서 변경합니다.
Tools > Internet options > Security > Custom level > Internet Zone > Scripting > Active scripting
파일 다운로드 활성화
사용자가 웹브라우저에서 파일 다운로드를 사용할 수 없게 제한한 경우에는 Filddownload 컴포넌트를 사용해 파일을 내려받을 수 없습니다. 일반적으로 기본 옵션은 활성화 상태이지만 사용자가 다른 옵션을 선택할 수 있으므로 파일 다운로드가 동작하지 않을 때는 해당 옵션을 먼저 확인합니다.
사용하는 웹브라우저에 따라 파일 다운로드 옵션을 활성화해주어야 합니다. 사용하는 버전에 따라 해당 옵션은 달라질 수 있으며 상세한 내용은 각 웹브라우저 도움말을 참고하세요.
인터넷 익스플로러의 경우에는 아래 옵션에서 변경합니다.
Tools > Internet options > Security > Custom level > Internet Zone > Downloads > File Download
HTTP 1.1 활성화
사용자가 웹브라우저에서 HTTP 1.1을 사용할 수 없게 제한한 경우에 애플리케이션이 느려지거나 동작하지 않을 수 있습니다. 일반적으로 기본 옵션은 활성화 상태이지만 사용자가 다른 옵션을 선택할 수 있으므로 애플리케이션이 동작하지 않을 때는 해당 옵션을 먼저 확인합니다.
인터넷 익스플로러에서만 제공하는 기능이며 아래 옵션에서 변경합니다.
Tools > Internet options > Advanced > HTTP settings > Use HTTP 1.1 through proxy connections Tools > Internet options > Advanced > HTTP settings > Use HTTP 1.1
웹브라우저 설정과 상관없이 웹서버 설정에서 HTTP 1.0을 사용하도록 강제하는 경우에 애플리케이션이 느려지거나 동작하지 않을 수 있습니다. 전체 사용자 환경이 느려지는 경우에는 웹서버 설정을 확인하셔야 합니다.
아파치 서버의 경우에 force-response-1.0
설정을 사용할 수 있습니다.
XMLHTTP 활성화
사용자가 웹브라우저에서 XMLHTTP를 사용할 수 없게 제한한 경우에 애플리케이션 내에서 동적인 처리 작업을 수행하지 못할 수 있습니다. 일반적으로 기본 옵션은 활성화 상태이지만 사용자가 다른 옵션을 선택할 수 있으므로 애플리케이션이 동작하지 않을 때는 해당 옵션을 먼저 확인합니다.
인터넷 익스플로러에서만 제공하는 기능이며 아래 옵션에서 변경합니다.
Tools > Internet options > Advanced > Security > Enable native XMLHTTP support
인터넷 익스플로러 호환성 보기
사용자가 인터넷 익스플로러에서 서비스되고 있는 도메인을 호환성 보기 대상으로 추가한 경우에는 화면이 정상적으로 출력되지 않을 수 있습니다.
넥사크로플랫폼 애플리케이션 개발 시 사용하는 HTML 파일은 상위 버전 인터넷 익스플로러의 향상된 성능을 이용하기 위해 각 버전의 표준모드로 동작하도록 Meta tag로 렌더링 모드를 지정하였으며 (IE=Edge), 해당 모드에서는 주소 입력창에 호환성 보기 아이콘이 표시되지 않습니다.
따라서 화면이 깨지는 사용자의 브라우저 설정을 확인하여 표준 모드로 동작하도록 가이드를 제공하거나, 별도의 스크립트로 호환성 보기 모드인지를 확인하여 사용자에게 알려 줄 수 있습니다.
아래 코드는 참고용입니다. 개발 환경에 따라 사용하셔야 합니다.
참고: https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
var agentStr = navigator.userAgent; var mode; if (agentStr.indexOf("Trident/6.0") > -1) { if (agentStr.indexOf("MSIE 7.0") > -1) { mode = "IE10 Compatibility View"; } else { mode = "IE10"; } else if (agentStr.indexOf("Trident/5.0") > -1) { if (agentStr.indexOf("MSIE 7.0") > -1) { mode = "IE9 Compatibility View"; } else { mode = "IE9"; } else if (agentStr.indexOf("Trident/4.0") > -1) { if (agentStr.indexOf("MSIE 7.0") > -1) { mode = "IE8 Compatibility View"; } else { mode = "IE8"; } } else { mode = "IE7"; } document.title = "Browser Mode:\t" + mode;
기존 웹 화면에 아이프레임으로 콘텐츠 추가
이미 개발되어 운영하고 있는 화면에 아이프레임 형식으로 넥사크로플랫폼 콘텐츠를 추가하는 경우 인터넷 익스플로러에서 화면이 출력되지 않을 수 있습니다.
넥사크로플랫폼 애플리케이션 개발 시 사용하는 HTML 파일은 Edge모드로 동작하게 구성되어 있습니다. 기존 화면에 사용된 HTML 파일에 DTD(Document Type Definition)이 지정되어 있지 않을 경우에는 쿼크모드(Quirks mode)로 동작하는데 이 과정에서 화면이 정상적으로 출력되지 않을 수 있습니다.
이런 경우에는 아래와 같이 메타 태그를 추가해줍니다.
<head> <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> </head>
메타 태그 또는 HTTP 헤더를 사용한 호환성 보장과 관련된 내용은 아래 링크를 참고하세요.