표준화 하의 DOM 접근

국내에 웹 사이트들이 웹 표준을 지키고 OS나 브라우저와 관계 없이 접근성을 향상 시키기 위한 사이트 버그 신고 및 문제 해결을 위한 게시판입니다.
댓글 게시
chris

표준화 하의 DOM 접근

게시물 작성자 chris » 2009 09 30 11:17 39

관공서에서 웹표준화 작업중인데..

asp.net은 할줄 모르지만 어쩌다 asp.net 사이트를 담당하게 되었습니다.

아.. 이게 중요한게 아니지.

암튼.. 현재 사이트 구조가 asp 페이지 안에 iframe으로 asp.net 페이지가 호출되어 옵니다.

iframe을 날리고 싶지만... asp와 asp.net이 서로 사맛디 아니하고.. 어차피 웹표준만 수행하면되고
기능과 구조에 대해서는 손 댈 필요가 없기 때문에.. 추후에 iframe 문제는 보완을 할 생각으로
그냥 iframe을 쓰기로 했습니다.

그래서 현재 문제가.. asp 안에서 iframe으로 페이지 호출 한 후에

기존에는 (IE에서는 잘돌아갑니다...) onload 시에 parent.함수명() 해서

iframe 내에 로딩된 document의 사이즈를 확인 해서 iframe의 사이즈를 재조정을 했습니다.
언듯 보기엔 이 화면이 iframe 인지 구분이 안가도록 하고, 스크롤바가 보이지 않아 깨끗합니다.


그치만 현재 표준화 작업중에서는 firefox에서는 parent.함수명().. 이게 먹히질 않더군요.
body의 onload는 그냥 뺴고 페이지 하단에 스크립트 문을 넣어서 onload와 비슷한 작동을
하도록은 해놓았는데.. 부모창 함수 호출이 되질 않네요 -.-;;

앞서 설명이 길었는데.. 표준 DOM 에서 iframe이 부모창의 함수에 접근 하는 방법이 어찌되는지
궁금합니다.

검색어를 뭐로 해야 할지도 막막한 상태로 검색을 해보다 이렇게 질문 남깁니다.

chris

Re: 표준화 하의 DOM 접근

게시물 작성자 chris » 2009 09 30 11:32 29

아.. 바보 같이..

디버깅을 좀더 해보니 함수 호출의 문제가 아니었습니다. 좀더 테스트를 하고 질문을 할걸;;

var oIFrame = document.getElementById(name);
var oBody = oIFrame.document.body;
var frmWidth = oBody.scrollWidth;
var frmHeight = oBody.scrollHeight;

위의 코드 처럼 iframe의 객체를 얻고 나서
다시 iframe 내의 body 객체를 얻어와 그 body의 크기를 받아오고 있는게 기존의 방식인데

현재는 var oBody = oIFrame.document.body;
이 라인에서 에러가 발생 하네요.

질문을 조금 바꾸어서 해야겠습니다.

body 객체를 얻으려면 어떻게 해야 할까요? -_-;;;

유저 아바타
hyeonseok
해커
해커
게시물: 684
참여됨: 2004 08 11 22:14 59
연락:

Re: 표준화 하의 DOM 접근

게시물 작성자 hyeonseok » 2009 09 30 23:23 31

표준모드 DOCTYPE을 넣으셨다면, document.documentElement로 접근해 보세요.

var oBody = oIFrame.document.documentElement;

댓글 게시

누군가 접속

유저들이 이 포럼을 탐색중: 가입된 유저 없음 그리고 2 손님들