아이프레임 리사이징 호출이 안되요... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

아이프레임 리사이징 호출이 안되요... 정보

아이프레임 리사이징 호출이 안되요...

본문

<Script type="text/javascript" src="http://test.co.kr/js/advertisement.js">//리사이징관련</script>
<table width=500>
<tr>
<td>
<iframe src="http://test.co.kr/bbs/advertisement.php?wr_id=6" frameborder="0" width="100%" name="viewFrame" id="viewFrame"></iframe>
<script>getReSize("viewFrame","100%");</script>
</td>
</table>

----------------------------------------------------------------------------------------

위 소스가 블로그에 적용한것이구요 ... 아이프레임 리사이징을 할려고 해도 호출이 안되서...
스크롤바가 계속 생기네요...

아래는 리사이징 관련 자바스크립트 소스 입니다. 호출하는 방법좀 가르쳐 주세요 ...

-----------------------------------------------------------------------------------------

//===============================================================
// 창 띄위기 관련, 새창 띄우기
function new_window(data1, data2, data3, data4) {
w = screen.width /  2 - data3 / 2;
h = screen.Height / 2 - data4 / 2;
data3 = "left=" + w + ",top=" + h + ",width=" + data3 + ",height=" + data4 + ",scrollbars=yes";
window.open(data1, data2, data3);
}

// 예약하기 윈도우 띄우기
function F_reserve_window(data1, data2) {
data1 = "revmode=" + data1;
data2 = "&revcode=" + data2;

new_window('/reserve/reserve.asp?'+data1+data2, 'rev', 620, 600);
}

// 우편번호 찾기
function F_zip_window(data1, data2, data3, data4) {
new_window('/zipcode/?fname='+data1+'&N_zipcode='+data2+'&N_address='+data3+'&N_focus='+data4,'zipcode',380, 350);
}
//===============================================================
//===============================================================
// 창닫거나 이동할 때
function F_move(data) {
switch (data) {
case "-1" : history.go(-1); break;
case "opener_focus" : opener.window.focus(); window.close(); break;
case "opener_reload" : opener.window.focus();opener.window.location.reload(); window.close();break;
default : location.href=data; break;
}
}

//===============================================================
//===============================================================
// 입력시, 이미지 교체 관련

// 이미지 교체시, 체크되어 있으면, 이미지 선택란 활성화, 체크가 안되어 있으면 비활성화
// data1 : 체크박스, data2 : 활성/비활성화될 input 태그
function F_img_chk(data1, data2) {
if (data1.checked) {
data2.disabled = false;
} else {
data2.disabled = true;
}
}

// 선택 이미지 미리 보여주기
// data1 : 이미지 이름, data2 : 파일 선택 input 태그
function F_img_choice(data1, data2) {
data1.src = data2.value;
data1.width = 100;
data1.height = 100;
}

// 이미지를 새창으로 띄워서 크게 보기
// data1 : imgview.asp 가 위치한 웹경로, data2 : 이미지경로
function imgview(data1, data2) {
new_window(data1+"lib/imgview.asp?imgURL="+data2,"img",500,500);
}
//===============================================================
//===============================================================
// submit 관련

// 버튼 눌렀을때 submit 만 보내기
function F_submit(data) {
data.submit();
}

// mode 값을 변경하고 submit 할때
// data1 : submit 할 폼, data2 : 변경할 mode 값
function F_submit_mode(data1, data2) {
data1.mode.value = data2;
data1.submit();
}

// 특정 항목 입력이 되어있는지만 확인하고 submit 보내기
// data1 : submit 할 폼, data2 : 입력 체크할 항목, data3 : 입력항목 한글이름
function F_submit_one(data1, data2, data3) {
if (data2.value.length < 1) {
alert(data3 + '을(를) 입력해 주세요.');
data2.focus();
return;
}

data1.submit();
}

// 추가, 수정, 삭제 일때, 폼 서브밋
// data1 : add(추가), edit(수정), delete(삭제) 중 하나, data2 : 폼, data3 : 폼에서 체크할 항목, data4 : 체크할 항목의 한글 이름
function F_submit_iform(data1, data2, data3, data4) {
if (data1 == "edit" || data1 == "add") {
if (data3.value.length < 1) {
alert(data4 + '은(는) 필수항목입니다.');
data3.focus();
return;
}
} else if (data1 == "delete") {
temp = confirm(data4 + '을(를) 삭제하시면, 관련 데이타와 화일들이 모두 사라집니다. \r\r 복구가 불가능 합니다. 그래도 삭제하시겠습니까?? ');
if(!(temp)) {
return;
}
}

data2.mode.value = data1;
data2.submit();
}
//===============================================================
//===============================================================
// iframe 자동으로 크기 조정하기
// iframe 에 이름을 ifrm 으로 놓고, getRetry() 를 호출하면 됨
function F_iframe_resize()
{
      try {
              var objFrame = document.getElementById('viewFrame');
              //alert(objFrame);
              var objBody = viewFrame.document.body;

              ifrmHeight = objBody.scrollHeight + (objBody.offsetHeight - objBody.clientHeight);

              if (ifrmHeight > 150) {
                    objFrame.style.height = ifrmHeight;
              } else {
                    objFrame.style.height = 150;
              }
             
            //objFrame.style.width = '100%';
            //alert(objFrame.style.width);
     
      } catch(e) {
      };
     
      setTimeout('F_iframe_resize()',500);
}


function F_iframe_resize_b()
{
      try {
              var objFrame = document.getElementById('boardFrame');
              //alert(objFrame);
              var objBody = viewFrame.document.body;

              ifrmHeight = objBody.scrollHeight + (objBody.offsetHeight - objBody.clientHeight);

              if (ifrmHeight > 150) {
                    objFrame.style.height = ifrmHeight;
              } else {
                    objFrame.style.height = 150;
              }
             
//              objFrame.style.width = '100%';
     
      } catch(e) {
      };
     
      setTimeout('F_iframe_resize_b()',500);
}


//===============================================================
//===============================================================
//이미지 롤오버
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function back_top()  {
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
        step = 2;

        while ((x != 0) || (y != 0)) {
                scroll (x, y);
                step += (step * step / 300);
                x -= step;
                y -= step;
                if (x < 0) x = 0;
                if (y < 0) y = 0;
        }
        scroll (0, 0);
}

// FName : 리사이즈할 iframe 이름,
// FWsize : 리사이즈할 가로사이즈
function getReSize(FName, FWsize) {
  try {
  var objFrame = document.all[FName]; //document.getElementById(FName);
var objBody = eval(FName).document.body;

ifrmHeight = objBody.scrollHeight + (objBody.offsetHeight - objBody.clientHeight) ;

  if (ifrmHeight < 10) {
      //ifrmHeight = 300;
      document.all[FName].reload();
  } else {
  objFrame.style.height = ifrmHeight + 50;
  objFrame.style.width = FWsize; 
  }

  } catch(e) {
  };

  setTimeout("getReSize('"+FName+"','"+FWsize+"')",500);
}

function CenterWindow(data1, data2, data3, data4) {
w = screen.width /  2 - data3 / 2;
h = screen.Height / 2 - data4 / 2;
data3 = "left=" + w + ",top=" + h + ",width=" + data3 + ",height=" + data4 + ",scrollbars=yes";
window.open(data1, data2, data3);
}
//===============================================================
//===============================================================
// 창닫거나 이동할 때
function F_move(data) {
switch (data) {
case "-1" : history.go(-1); break;
case "opener_focus" : opener.window.focus(); window.close(); break;
case "opener_reload" : opener.window.focus();opener.window.location.reload(); window.close();break;
default : location.href=data; break;
}
}
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로