웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
팝업창을 내용에 맞게 크기 자동조정하기
2005.04.23 19:16
팝업창을 띄우는데, 내용에 맞게 창을 자동으로 조절해 주는 소스를 구하기가 어렵더군요.
제가 구한 소스는 부모창에서 크기를 조절하기 때문에, 팝업창의 로딩이 늦어지는 경우 부모창까지 영향을 미치게 되더군요.
그래서, 제가 소스를 좀 고쳐서 부모창은 팝업창을 열어 주기만 하고 팝업창이 스스로 크기를 바꾸도록 해 보았습니다.
잘 활용하시기 바랍니다.
부모창 스크립트
<script language='JavaScript' type='text/javascript'>
<!--
function Win( sURL, sName, scrollbars,left,top){
var win;
win = window.open(sURL, sName, "status=no,toolbar=no,resizable=no,scrollbars="+scrollbars+",menubar=no, width=1, height=1, left="+left+", top="+top);
win.opener.self;
}
//-->
</script>
<script language=javascript>
Win( 'popup.php?id=popup&no=1', 'popuppopup1','no','20','10');
</script>
팝업창 스크립트
<SCRIPT language="JavaScript">
<!--
function WindowReset( win /* Window Object */ ){ // 새창의 크기와 위치 재설정
//
// 새창의 진행상황 체크 완료되면 코드실행
//
//while(win.document.readyState != 'complete'){}
var winBody = win.document.body;
//
// 새창의 사이즈에 더해줄 marginWidth와 marginHeight
//
var marginHeight = parseInt(winBody.topMargin)+parseInt(winBody.bottomMargin);
var marginWidth = parseInt(winBody.leftMargin)+parseInt(winBody.rightMargin);
//
// 새창의 사이즈 설정
//
var wid = winBody.scrollWidth + (winBody.offsetWidth - winBody.clientWidth) + marginWidth-5;
var hei = winBody.scrollHeight + (winBody.offsetHeight - winBody.clientHeight) + marginHeight+17;
//
// 사이즈 재조정
//
win.resizeTo(wid, hei);
}
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" OnLoad="WindowReset(this)">
제가 구한 소스는 부모창에서 크기를 조절하기 때문에, 팝업창의 로딩이 늦어지는 경우 부모창까지 영향을 미치게 되더군요.
그래서, 제가 소스를 좀 고쳐서 부모창은 팝업창을 열어 주기만 하고 팝업창이 스스로 크기를 바꾸도록 해 보았습니다.
잘 활용하시기 바랍니다.
부모창 스크립트
<script language='JavaScript' type='text/javascript'>
<!--
function Win( sURL, sName, scrollbars,left,top){
var win;
win = window.open(sURL, sName, "status=no,toolbar=no,resizable=no,scrollbars="+scrollbars+",menubar=no, width=1, height=1, left="+left+", top="+top);
win.opener.self;
}
//-->
</script>
<script language=javascript>
Win( 'popup.php?id=popup&no=1', 'popuppopup1','no','20','10');
</script>
팝업창 스크립트
<SCRIPT language="JavaScript">
<!--
function WindowReset( win /* Window Object */ ){ // 새창의 크기와 위치 재설정
//
// 새창의 진행상황 체크 완료되면 코드실행
//
//while(win.document.readyState != 'complete'){}
var winBody = win.document.body;
//
// 새창의 사이즈에 더해줄 marginWidth와 marginHeight
//
var marginHeight = parseInt(winBody.topMargin)+parseInt(winBody.bottomMargin);
var marginWidth = parseInt(winBody.leftMargin)+parseInt(winBody.rightMargin);
//
// 새창의 사이즈 설정
//
var wid = winBody.scrollWidth + (winBody.offsetWidth - winBody.clientWidth) + marginWidth-5;
var hei = winBody.scrollHeight + (winBody.offsetHeight - winBody.clientHeight) + marginHeight+17;
//
// 사이즈 재조정
//
win.resizeTo(wid, hei);
}
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" OnLoad="WindowReset(this)">
댓글 2
제목 | 글쓴이 | 날짜 |
---|---|---|
[mics'php] 들어가기 전에 [1] | TheMics | 2003.04.11 |
PHP 혼자 공부하기 - 6 :: 연산자 [7] | 행복한고니 | 2003.04.11 |
PHP 혼자 공부하기 - 5 :: 변수 [4] | 행복한고니 | 2003.04.10 |
PHP 혼자 공부하기 - 4 :: 미리 정의된 변수 [13] | 행복한고니 | 2003.04.09 |
PHP 혼자 공부하기 - 3 :: 변수형 [8] | 행복한고니 | 2003.04.09 |
PHP 혼자 공부하기 - 2 :: PHP의 시작 [9] | 행복한고니 | 2003.04.09 |
PHP 혼자 공부하기 - 1 :: 준비물 [3] | 행복한고니 | 2003.04.09 |
개판 오분전 세션 - 7 [10] | 미친개 | 2003.04.08 |
개판 오분전 세션 - 6 | 미친개 | 2003.04.08 |
개판 오분전 세션 - 5 | 미친개 | 2003.04.08 |
개판 오분전 세션 - 4 | 미친개 | 2003.04.08 |
개판 오분전 세션 - 3 [4] | 미친개 | 2003.04.08 |
개판 오분전 세션 - 2 [4] | 미친개 | 2003.04.08 |
개판 오분전 세션 - 1 [7] | 미친개 | 2003.04.08 |
객체를 이용한 winamp 방송정보 알아내는 소스 [4] | 흑심품은연필 | 2003.04.07 |
글자 깨짐 없이 문자열 자르기(hex2bin 함수 이용) [13] | 미친개 | 2003.04.05 |
내 홈피도 채널을?! #1 [16] | (' _ ') napclub | 2003.03.31 |
이젠 주소검색 편하게쓰자~~~!! (새창띄우지 않습니다) [5] | _-=Knight=-_ | 2003.03.05 |
메일 인증시 기존 회원 전부 인증걸기;;; [4] | teslaMINT | 2003.03.04 |
게시판 통체 인클루드 하기 [12] | 깜보 | 2003.03.02 |