WEB/JavaScript

onunload 이벤트 제어하기

AlrepondTech 2012. 11. 5. 17:52
반응형

 

 

 

 

=================================

=================================

=================================

 

 

 

 

출처: http://weeky97.blog.me/40020088964


네이버 지식인에 있던 질문에 답변하면서 꽁수로 해본건데 쓸모 있어 보인다..

//--------------------------------------------
// 질문내용

1번페이지에서 버튼을 클릭하면 팝업이 뜹니다..
1번페이지에서 창을 닫으면 2번페이지가 뜹니다..
팝업창에서 버튼을 클릭하면 팝업창이 닫히면서 부모창에 3번 페이지가 로딩됩니다..
이런걸 만들고 싶은데..
팝업창에서 버튼을 누르면 2번페이지도 뜨고 3번페이지도 뜹니다..
어떻게 하면 2번페이는 안띄우고 3번페이지만 뜨게 할 수 있나요? 

//-----------------------------------------------
// 답변내용


=== page1.html ===

<form name="psform">
  <input type="hidden" name="slet" value="on">
</form>
<script language="JavaScript">
  // popup.html열기
  function PopupOpen() {
    window.open('popup.html','popup','width=200,height=200,menubar=0,resizable=1,status=0,scrollbars=yes');
  }
  // onunload지정
  function UnloadOpen() {
    // 단, psform폼의 slet의 값이 on일 경우에만 onunload 적용
    if(document.psform.slet.value == "on") {
      window.open("page2.html",'page2','width=200,height=200,menubar=0,resizable=1,status=0,scrollbars=yes');
    }
  }
  window.onunload = UnloadOpen;
</script>
<a href="javascript:PopupOpen()">새창열기</a>


=== popup.html ===

<script language="JavaScript">
  function WinOpn() {
    // 클릭시 psform의 slet의 값을 off로 바꿔줌으로 onunload를 사용못하게 함
    top.opener.document.psform.slet.value = "off";
    top.opener.location.href = "page3.html";
    self.close();
  }
</script>
<a href="javascript:WinOpn()">링크열기</a>


=== page2.html ===

Page2


=== page3.html ===

Page3

[출처] onunload 이벤트 제어하기|작성자 우iㅋi

 

=================================

=================================

=================================

 

 

반응형