Season 1/워게임 Old - 54 Write Up 작성자 - LRTK ?의 위치에서 값이 계속 변경이 되더니, 마지막엔 ?이 되었다. 무슨 기능인지는 잘 모르겠다. 그래서 개발자 도구에서 코드를 살펴보았다. function run(){ if(window.ActiveXObject){ try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { return null; } } } else if(window.XMLHttpRequest){ return new XMLHttpRequest(); } else{ return null; } } x=run(); function answer(i){ x.open('GET','?m='+i,false); x.send(null); aview.innerHTML=x.responseText; i++; if(x.responseText) setTimeout("answer("+i+")",20); if(x.responseText=="") aview.innerHTML="?"; } setTimeout("answer(0)",1000); 코드 중에서 ?의 값을 변경하는 JS코드를 가져왔다. run 함수는 서버와 통신할 객체를 선언을 해주는 역할이며,answer 함수는 서버 객체에 값을 보내고, 반환 받은 값을 ?에 출력하는 역할이다. 서버에 0부터 1씩 증가된 m을 보내주는데, 반환값이 없으면 ?을 출력하는 것이다. 나는 answer 함수의 코드를 조금 수정하였다. aview.innerHTML += x.responseText; i++; if(x.responseText) setTimeout("answer("+i+")",20); aview.innerHTML의 값이 계속 변하는게 아니라, 더해지는 것으로 변경반환값이 없으면 ?으로 변경되는 조건을 삭제하였다. 수정된 answer 함수를 개발자 도구의 콘솔에 실행하면, 밑과 같이 Flag 값이 출력이 될 것이다. 공유하기 게시글 관리 MSS 'Season 1 > 워게임' 카테고리의 다른 글 Old - 19 Write Up (0) 2021.05.16 Old - 07 (0) 2021.05.16 Old - 39 Write Up (0) 2021.05.15 Old - 38 Write Up (0) 2021.05.15 Old - 26 Write Up (0) 2021.05.15 Contents 당신이 좋아할만한 콘텐츠 Old - 19 Write Up 2021.05.16 Old - 07 2021.05.16 Old - 39 Write Up 2021.05.15 Old - 38 Write Up 2021.05.15 댓글 0 + 이전 댓글 더보기