게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
re: innerHTML 대체 |
---|
작성자: 송원석
작성일시: 2004-08-06 15:28,
조회수: 3,403
|
이상하군요. 내부 브라우저와 외부 브라우저의 차이점 때문인지는 모르겠지만 제 쪽에서는 내용이 모두 잘 나오고 있습니다. 예를 들어서 지난번에 저와 함께 만들었던 샘플용 브라우저에서도 잘 나오구요, 익히 알고 계시는 C# 으로 작성한 EgoCube IE Analysis 0.0.2 브라우저에서도 내용이 잘 나온답니다. ^_^
다만 한 가지 유의하실 부분이 있는데요, 아마도 지금 말씀드리려는 차이점 때문에 혼란을 느끼신게 아닌가 싶습니다. innerHTML 을 포함한 모든 WebBrowser 컨트롤에서 제공되는 프로퍼티와 메소드들은 메모리에 들어 있는 HTML 문자열을 기준으로 동작을 하는 것입니다. 외부의 인터넷 익스플로러를 제어하는 경우도 역시 마찮가지구요. 이 얘기가 갖고 있는 의미를 먼저 이해하셔야만 합니다. 서버로부터 전송받은 HTML 문서가 있다고 생각해 보겠습니다. 원칙적으로는 innerHTML 의 내용도 위의 문서와 내용이 완전히 똑같아야 겠죠. 그러나 제가 강좌에서도 말씀드렸던 것처럼 인터넷 익스플로러는 일단 자기 나름대로 한 번 내용을 정리해서 메모리에 그 내용을 올려놓고 모든 프로그래밍 개체들은 그 메모리 상에 위치한 개체들을 참고하게 됩니다. 따라서 DHTML 처럼 HTML 의 내용이 동적으로 바뀌는 경우에는 실제로 메모리상에 있는 HTML 문서의 내용도 같이 실시간으로 수정되는 것이죠. 조금 더 생각을 넓혀보도록 하겠습니다. SPAN 태그 안에 A 라는 글자가 있다고 해보겠습니다. 그런데 어떤 버튼을 클릭하면 A 가 B 로 바뀌는 자바스크립트가 있어서 사용자가 그 버튼을 눌렀다고 해보죠. 이 경우 버튼을 누르기 전의 innerHTML 프로퍼티는 당연히 A 문자를 리턴해주구요, 누르고 난 다음에는 당연히 B 문자를 리턴해줍니다. 똑같은 개체의 innerHTML 인데도 말이죠. ^_^ 말씀하신 부분의 자바스크립트 코드를 보시면 다음과 같이 세 가지 자바스크립트를 링크하고 있습니다. http://webclinic.ahnlab.com/myfirewall/js/myfirewall_2.js http://webclinic.ahnlab.com/myfirewall/js/myfirewall_6.js http://webclinic.ahnlab.com/myfirewall/js/myfirewall_14.js 그런데 첫 번째 링크까지만 출력되고 나머지 부분에는 아마 이상한 내용들이 잔뜩 들어 있을 것입니다. 그 이유는 자바스크립트의 내용을 보시면 확실히 아시게 될 것입니다. 위의 링크들을 클릭해서 자바스크립트를 다운로드 받아서 열어 보세요. 자바스크립트의 코드 중간중간에 document.write() 라는 메소드가 있는 것을 보실 수 있으실 것입니다. 이 메소드는 HTML 을 출력하는 메소드로서 소스 보기로는 안나오는 HTML 태그들을 쓰게 하는 메소드들입니다. 따라서 인터넷 익스플로러가 관리하고 있는 메모리에는 자바스크립트를 링크하는 SCRITP 태그 자체가 아니라 해당 태그의 코드가 실행되고 난 결과가 들어있게 되고 innerHTML 프로퍼티는 바로 그 메모리의 최종 결과를 리턴해주는 것이죠. 그래서 갑자기 뒤쪽의 코드가 이상하게 사라진 것처럼 보이셨을 겁니다. ^_^ 감사합니다. |
IP 주소: 152.99.132.13
|
게시물 | ||||
---|---|---|---|---|
568 | 2004-08-07 | 4,885 | ||
567 | 2004-08-07 | 2,827 | ||
566 |
안 연구소의 개인방화벽을... [1] |
2004-08-07 | 2,801 | |
565 | 2004-08-07 | 2,921 | ||
564 |
페이지 호출 [3] |
2004-08-06 | 2,888 | |
563 | 2004-08-06 | 2,631 | ||
562 |
Anonymous |
2004-09-01 | 0 | |
561 | 2004-08-06 | 2,830 | ||
560 | 2004-08-06 | 3,001 | ||
2004-08-06 | 3,403 | |||
558 | 2004-08-05 | 2,705 | ||
557 | 2004-08-05 | 2,723 | ||
556 | 2004-08-05 | 2,931 | ||
555 | 2004-08-05 | 2,877 | ||
554 | 2004-08-05 | 2,897 | ||
553 |
자동화 오류 [3] |
2004-08-05 | 2,918 | |
552 |
re: 자동화 오류 [3] |
2004-08-05 | 3,076 | |
551 | 2004-08-05 | 2,670 | ||
550 |
궁금이 |
2004-08-05 | 673 | |
549 | 2004-08-05 | 2,823 | ||
548 |
궁금이 |
2004-08-05 | 663 | |
547 | 2004-08-05 | 2,731 | ||
546 |
IE 외부 제어 [1] |
2004-08-05 | 2,775 | |
545 |
ie 이벤트 캡쳐 [1] |
2004-08-04 | 11,276 | |
544 |
re: ie 이벤트 캡쳐 [2] |
정보문 |
2004-08-04 | 835 |