게시판 본문 ASP, ASP.NET, IIS & Script - Read Only

re: innerHTML 대체
작성자: 송원석
작성일시: 2004-08-06 15:28,  조회수: 3,265
이상하군요. 내부 브라우저와 외부 브라우저의 차이점 때문인지는 모르겠지만 제 쪽에서는 내용이 모두 잘 나오고 있습니다. 예를 들어서 지난번에 저와 함께 만들었던 샘플용 브라우저에서도 잘 나오구요, 익히 알고 계시는 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
전체 2,095 건의 게시물, 84 페이지로 구성된 ASP, ASP.NET, IIS & Script 게시판의 63 페이지입니다.
게시물
568

업로드가 잘안되네요(2)

조우삼

2004-08-07 4,600
567

re: 업로드가 잘안되네요(2)

송원석

2004-08-07 2,706
566

안 연구소의 개인방화벽을... [1]

정보문

2004-08-07 2,665
565

re: 안 연구소의 개인방화벽을... [1]

송원석

2004-08-07 2,797
564

페이지 호출 [3]

정보문

2004-08-06 2,757
563

re: 페이지 호출

송원석

2004-08-06 2,499
562

사용자 또는 관리자에 의해 삭제된 글입니다.

Anonymous

2004-09-01 0
561

re: 성적종합일람표 페이지

송원석

2004-08-06 2,699
560

innerHTML 대체

정보문

2004-08-06 2,864

re: innerHTML 대체

송원석

2004-08-06 3,265
558

업로드.. 잘안되네요

조우삼

2004-08-05 2,562
557

re: 업로드.. 잘안되네요

송원석

2004-08-05 2,567
556

IE 외부 제어

정보문

2004-08-05 2,803
555

re: IE 외부 제어

정보문

2004-08-05 2,747
554

re: IE 외부 제어

송원석

2004-08-05 2,753
553

자동화 오류 [3]

정보문

2004-08-05 2,763
552

re: 자동화 오류 [3]

송원석

2004-08-05 2,946
551

re: 자동화 오류

송원석

2004-08-05 2,544
550

조언 부탁 드립니다.

궁금이

2004-08-05 673
549

re: 조언 부탁 드립니다.

송원석

2004-08-05 2,695
548

re: 조언 부탁 드립니다.

궁금이

2004-08-05 663
547

re: 조언 부탁 드립니다.

송원석

2004-08-05 2,605
546

IE 외부 제어 [1]

정보문

2004-08-05 2,654
545

ie 이벤트 캡쳐 [1]

정보문

2004-08-04 11,070
544

re: ie 이벤트 캡쳐 [2]

정보문

2004-08-04 835