문서...에 DOM 작업(?)을 편하게(?) 하기 위해서는
문서가 Loading 다 될 때까지 기다려야 하는데,
(안그러면, IE...같은데서 "아직 다 읽지도 안았는데!"라는 메세지가 뜬다...)

...

음... 솔찍히, 이것저것 하다보면 그때까지 기다리기 어려운 경우도 있다.

그럴 때, 내가 자주 쓰는 방법은 document.write()...

그런데 뭐랄까... 그리 권하지 못하는 내용이다.
문서 "미리보기"를 태그만으로는 표현하지 못하는 거라서...

...

그렇다면, body onload 이벤트를 불러서 처리를 하는 것도 방법이 되는데,
= =;... 하다보면 누가(개발자팀 기준) onload 를 잡고있는지 모르는 경우도 있다.

그래서(?), 해당 문서가 다 읽어졌는지(?) 확인하기 위해
isLoadComplete 라는 형식의 변수를 만들곤 한다.

<html><head><script>var isLoadComplete=0;</script></head>
<body onload="isLoadComplete=1;">
...
</body></html>

단지, 그런 변수 역시 위의 예시처럼 onload 를 써야하는 문제가 있어서,
... = =;... onload 에 함수적립함수(?)를 만들어야하나...라는 생각을 하다가

function pushOnload(fv) {
  if (!window.onload) { window.onload=fv; return; }
  var lastonload=window.onload;
  window.onload=function() { lastonload(); fv(); } // lastonload 와 fv 의 순서는 프로그래머의 선택사항...
  }

...

일단 찾아보자...고 찾아는 봤는데, = =;... 보통은(?) 그런 내용이 안나온다.
검색어 : isLoaded -> isLoadComplete -> readyState ...

document.body.readyState 정도까지는 나오는데, 그 이상이 안보였다고 할까...

... 그러다가, 생각해보니
document.body.readyState 쪽이 아니라, document.readyState 가 아닐까...싶어서 적용해봤더니 "빙고~"...

...

그런데... 작업(?)을 하다보니, 파벌(?)이 있었다.

loading 중 : "interactive" - IE, "loading" - chrome, FireFox, Safari, Opera...
loading 완료 : "complete" - IE, chrome, FireFox, Opera... "loaded" - Safari

= =;... 이래도 되는겁니...다...

...


<script>
document.write('<input type=button value="'+document.readyState+'" onclick="this.value=document.readyState;" />');
</script> : click 하면 현재 문서 상태로 글자내용 바뀝니다.


...


: click 하면 현재 문서 상태로 글자내용 바뀝니다.


...

이제 이런 형식으로라도, 문서에 DOM 을 써도 되는지 여부는 판단할 수 있으니
나머지는... 알아서 ㅎㅎ;...

smallLet killofki@.


Posted by killofki
,