Logger™ 매뉴얼 > 설치 및 이용방법 > 기타 > 문제 해결 및 참고 > 자동 Submit되는 페이지의 분석스크립트 실행
자동 Submit되는 페이지의 분석스크립트 실행
해당 제품(서비스) 웹사이트 서비스 전체에디션(레벨) 이상  


* 특정 프로세스 페이지로 페이지 로딩 시 자동적인 FORM SUBMIT이 이루어지는 웹페이지에서의 분석스크립트 적용방법

현상
위 제목과 같은 웹페이지는 일반적으로 HTML페이지내에서 자바스크립트 태그를 이용하여 FORM SUBMIT이 이루어지며,
FORM SUBMIT이 이루어지는 자바스크립트의 실행은
1. HTML 내 JavaScript 태그내 inline으로 form submit 함수를 호출하거나,
2. HTML Body태그의 onLoad 이벤트에서 form submit 함수를 호출합니다.

이때 HTML페이지의 로딩완료 후 '로그분석 스크립트'가 실행되어 분석데이터를 로그분석 서버에 전송해야합니다만,
이에 앞서, 또는 이와 동시에 form submit이 이루어져 HTML Page가 unLoad되면 해당 페이지내의 스크립트 실행과 네트워크연결을 통한 작업이 중단되게 되게 됩니다.

위와 같은 현상으로 인해 로그분석 스크립트의 정상적인 실행을 막아 분석이 올바르게 이루어지지 못하게 됩니다.
이는 사용자 PC의 CPU속도 및 네트워크 응답속도에 따른 브라우저의 작동속도에 영향을 받습니다.


해결방법
본 현상은 스크립트임베딩(Script Embedding)방식의 로그분석 방법에서 발생할 수 있는 일반적 사항으로서, 다음과 같은 방법을 제시합니다.
이미 몇차례 본 방법으로 원활한 분석이 이루어지도록 한바가 타 사례에 있는 관계로, 귀사의 경우에도 어렵지 않게 적용될 것으로 예상됩니다.

적용방법은 로그분석 스크립트가 실행된 후 form submit이 실행되도록 하는 것으로써, form submit하는 함수를 호출시점과 로그분석 스크립트 실행시점에 시간적 차이를 두는 것이 목적입니다.

setTimeout( form submit 함수호출명령, 지연시간 );

위에서 지연시간은 msec(밀리세컨드) 단위의 정수이며, 함수호출명령은 문자열 값입니다.

ex1) setTimeout( "document.formA.submit()", 100 );
ex2) setTimeout( "mySubmitFunction()", 200 );
ex3) <body onLoad="setTimeout('mySubmitFunction()', 200)">

위 지연시간은 100~300 밀리세컨드(0.1초 ~ 0.3초)정도를 권장하여 드립니다.


참고
Q
- 지연시간 적용으로 인해 사용자가 불편을 느끼지는 않습니까 ?
A- 일반 웹페이지의 경우 페이지 로딩에서 차이를 느낄 수 있겠지만, 자동적인 Form Submit에 의해 Process처리하는 페이지로 이동하는 경우에는 Process와
함께 인식되므로 0.1~0.3초의 차이를 사용자는 느끼기 어렵습니다.

Q- setTimeout에 의한 명령 지연실행이 실행되지 않을 수도 있나요 ?
A- setTimeout명령은 이미 사용자의 브라우저에 전달된 후, 지연시간 후 최종실행되는 방식으로써, 사용자가 stop버튼을 누르거나, ESC키를 눌러도 반드시 실행됩니다.


본 도움말 페이지가 도움이 되셨습니까?
점수를 입력해주시면, 도움말 페이지 개선에 반영하도록 하겠습니다.