2006년 12월 4일 월요일

On-demand JavaScript

JavaScript를 로딩하기 위해서는 <script>태그를 사용하여 초기에 로딩하게 됩니다.

그러나, 경우에 따라서는 특정한 경우에만 JavaScript로딩을 사용하게 됩니다. 예를 들자면, Wiki 사용자들 대부분이 내용을 읽기만하지, 쓰기는 하지 않습니다. 즉 파일업로드와 같은 JavaScript는 사용하지 않기 때문에, <script>태그를 사용하여 로딩하지 않아도 되는 것이죠.

이를 구현하는 방법에는 크게 두가지가 있습니다. 하나는 Script태그를 사용하여 읽어들이는 것이구요, 또다른 하나는 XMLHttpRequest를 사용하여 읽어들이는 방법이 있습니다. Script태그를 사용하여 읽어들이는 경우에는 로딩이 되었는지 확인하는 절차와 sync문제가 존재합니다.

User inserted image
또 하나의 방법은, XMLHttpRequest로 파일을 요청하고 이를 받아서 eval()를 사용하여 해당코드를 실행시키는 방법입니다. 이 때 주의할 점은 단순한 function을 로딩하게 되면 한 번 실행한 후에 종료가 된다는 점입니다.
User inserted image
이를 위해서 브라우져의 윈도우 오브젝트 self를 이용하여 해결할 수 있습니다.
User inserted image
출처 : On-Demand JavaScript

댓글 없음:

댓글 쓰기