반응형
부모창에서 자식 새창으로 submit 데이타를 보낼때 자식창에선 그것을 데이타 크기에 맞게
늘렸다 줄였다 할수있다. 이것은 프린트 공통 화면을 만들때 유용하게 쓰인다.
내용은 화면이 시작되고 나서 밑쪽에 initWindow 함수가 실행되게 된다.
<html>
<head>
#parse("common/common_head.vm")
<link href="${rc.contextPath}/css/ord.css" rel="stylesheet" type="text/class" />
<script language="JavaScript">
<!--
// submit 넘어오는 html 데이타를 화면 크기에 맞게 배치해준다.
function initWindow(win){
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);
}
var initBody; // 프린트 실행전 내용이 담기는 공간
function beforePrint(){
initBody = document.body.innerHTML;
document.body.innerHTML = resultPrint.innerHTML;
}
function afterPrint(){
document.body.innerHTML = initBody;
}
function printArea(){
window.print();
}
window.onbeforeprint = beforePrint; // 프린트 하기 이전의 내용실행 해서 body 의 내용을 바꾼다.
window.obafterprint = afterPrint; // 프린트 후 함수를 실행하여 이전에 저장해놨던 정보로 내용을 바꾼다.
//-->
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td valign="top">
<DIV id="resultPrint">
$!{print}
</DIV>
</td>
</tr>
<tr>
<td><a href="javascript:printArea();"> 프린트 하기 </a></td>
</tr>
</table>
<script language='javascript'>
<!--
initWindow(this);
//-->
</script>
</body>
</html>
늘렸다 줄였다 할수있다. 이것은 프린트 공통 화면을 만들때 유용하게 쓰인다.
내용은 화면이 시작되고 나서 밑쪽에 initWindow 함수가 실행되게 된다.
<html>
<head>
#parse("common/common_head.vm")
<link href="${rc.contextPath}/css/ord.css" rel="stylesheet" type="text/class" />
<script language="JavaScript">
<!--
// submit 넘어오는 html 데이타를 화면 크기에 맞게 배치해준다.
function initWindow(win){
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);
}
var initBody; // 프린트 실행전 내용이 담기는 공간
function beforePrint(){
initBody = document.body.innerHTML;
document.body.innerHTML = resultPrint.innerHTML;
}
function afterPrint(){
document.body.innerHTML = initBody;
}
function printArea(){
window.print();
}
window.onbeforeprint = beforePrint; // 프린트 하기 이전의 내용실행 해서 body 의 내용을 바꾼다.
window.obafterprint = afterPrint; // 프린트 후 함수를 실행하여 이전에 저장해놨던 정보로 내용을 바꾼다.
//-->
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td valign="top">
<DIV id="resultPrint">
$!{print}
</DIV>
</td>
</tr>
<tr>
<td><a href="javascript:printArea();"> 프린트 하기 </a></td>
</tr>
</table>
<script language='javascript'>
<!--
initWindow(this);
//-->
</script>
</body>
</html>
반응형
'웹 프로그래밍 > 자바스크립트' 카테고리의 다른 글
javascript 에서 html value 값을 버전관계없이 바꾸고 싶을때 (0) | 2009.01.07 |
---|---|
jQuery 라이브러리 사용을 쉽게하는 전용 IDE – Aptana (0) | 2008.12.30 |
파이어폭스 설치 사용하기 (0) | 2008.12.26 |
javascript 디버깅 툴 - Companion.JS (0) | 2008.12.22 |
숫자이외의 글은 못들어가게 하며 Enter 치면 함수호출 스크립트 (0) | 2008.10.11 |
쿠키정보를 확인하고 활용할수 있는 코드 (0) | 2008.07.18 |
브라우저 객체 상속도 (0) | 2007.09.11 |
부모윈도우의 경로값얻오올때 (1) | 2007.09.03 |