발생일: 2009.12.17 문제: 이번 연구회 때 발표할 주제는 AJAX 다. 대부분 신입 사원들이라 XMLHttpRequest 객체 생성부터 다뤄보려고 한다. 얼마 전 읽은 John Resig 의 Pro Javascript Techniques 책에서 생성하는 방식으로 설명할까 하다가, 신입사원들이 알기에는 좀 어려울 것 같다는 생각이 들어 다른 튜토리얼이나 라이브러리 소스를 좀 열어봤다. 대부분 비슷하긴 한데, 다들 구현하는 방식이 조금씩 다르다. 그렇다면 어떤 방법으로 구현하는 게 가장 좋을까? 해결책: 일단 XMLHttpRequest 객체에 대해 간단하게 히스토리를 정리해보자. 비동기 통신 수단인 XMLHttp 는 인터넷 익스플로러에서 제일 먼저 제안하였으며, 최초 ActiveXObject 를 사..
발생일: 2009.05.15 문제: prototypejs를 사용해 IE 에서 document.viewport.getDimensions 를 호출했을 때, 정상적으로 값이 표시되지 않고 0 으로 나온다. prototypejs의 버전은 1.6.0.2 이다. 해결책: prototypejs 1.6.0.2 버전의 버그이다. (rubyonrails의 버그에 대한 리포트를 참고하자) 이 경우, IE에서는 document.viewport.getDimensions() 대신 document.body.clientWidth 와 document.body.clientHeight 을 쓸 것을 권장한다.
발생일: 2009.04.23 문제: prototypejs 에서 radio value 를 아주 그냥 깔꼼하게 얻어오는 방법은 없을까? 해결책: 1라인으로 해결한 방법이 있다. (여기서 얻어옴) var typeValue = Form.getInputs('myform','radio','type').find(function(radio) { return radio.checked; }).value; prototypejs 의 Form.getInputs API 를 참고하면 이해가 된다.
발생일: 2009.04.23 문제: prototypejs 를 이용해 Element의 순서를 바꾸려고 한다. Element.insert 구문을 사용하여 append 하려는 것이 아니라 원하는 위치에 넣고 싶은데... 해결책: Element.insert 구문을 사용하면 된다. (prototypejs 의 insert API) insert 구문은 append 기능 뿐만 아니라 동일한 레벨의 추가도 가능하다. (동일한 레벨의 추가에 대한 예제를 적어둔 블로그가 있다.) 예를 들어, 'sample' element 의 위치를 동일한 레벨에 있는 이전의 Element 앞으로 이동(자리바꿈)하고 싶다면, if (sample.previous()) { // 이전 element가 존재하면 // 이전 element의 앞에 sa..