Language/Java Script

부모창에서 자식창 onload 시 자식창 함수 호출

selles9903 2018. 3. 4. 14:02

 
자식창의 로딩이 완료되기 전에(mapSize함수를 읽어오기 전에) mapSize함수를 호출하여서 발생하는 오류입니다.
 
1. 해결을 위해서는 자식창의 onload에서 호출을 하거나,
부모창에서는 다음 문장을 없애고
  winOp.mapSize(0);
자식창에서는 body에 다음과 같이 처리하면 됩니다.
<BODY onload="mapSize(0)">
 
2. 부모창에서 제어해야 한다면 loop를 돌면서 자식창의 상태가 complete가 되었을때 호출하는 방법이 있습니다.
var winOp;
var tid;
function fullmap(){
  var OpenUrl="자식.html";
  winOp=window.open(OpenUrl, "mapBrowser", "top=0, left=0, width=300, height=500");
//  winOp.mapSize(0);
  tid=setInterval(chkChild,10);
}
function chkChild() {
  if (winOp.document.readyState=="complete") {
    winOp.mapSize(0);
    clearInterval(tid);
  }
}


출처:  

https://m.blog.naver.com/PostView.nhn?blogId=tyboss&logNo=70039279402&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F