자바는 정말 알수가 없네요. > 그누4 질문답변

그누4 질문답변

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

자바는 정말 알수가 없네요. 정보

자바는 정말 알수가 없네요.

본문

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :

<script type="text/JavaScript">
var popup = null

    function openpopup(){
    if(popup == null){
popup = window.open("update.php");
}else{
popup.location.href = "poll_next.php";
}
    }

function synchronize(){
setInterval("openpopup()", 7000)
}
</script>

이코드를 해드에 삽입하고 바디에서 onload="synchronize()" 를 불러줬습니다.
페이지 로딩후 7초후에 팝업이 잘 뜹니다. 그런데 그 팝업창을 닫으면 7초 후 에러가 나고
다시 팝업창을 불러오지 않습니다. 닫은 팝업창을 계속 뜨게 하려면 어떻게 하나요?

정말 감사합니다.

댓글 전체

저거 어디서 줏어오셨나요? ㄷㄷ;
당연히 에러납니다.
왜냐 popup 이 null 이 아니기때문입니다.
popup은 hwnd 오브젝트를 가리키고 있겠지요? 물론 그 창은 닫혀버렸지만
그렇다고 popup이 null 이 되지는 않겠지요? 그쪽의 포인터를 아직도 가리키고 있을껍니다.
그렇지만 popup은 null 이 아니지만닫혔으므로 런타임오류가 날껍니다.
그럼 어쩌냐고요? 다행히 닫힌 상태를 가리키는 변수가 있습니다.

%% 에러가 나는 것은 당연합니다. (; 를 빼먹은 미스는 이곳에서만 그러셨을꺼라고 넘어가겠습니다.)

올바른 코딩(제 코딩이 올바르다고 장담은 못하지만 비교적 제 신념으로)은 다음과 같겠습니다.

<script type="text/JavaScript">
var popup;
 function openpopup(){
if(typeof(popup)=="undefined" || popup.closed){
popup = window.open("update.php");
}else{
popup.location.href = "poll_next.php";
}
}

function synchronize(){
setInterval("openpopup()", 7000);
}
synchronize();
</script>


추가로 window.open은 브라우저에따라 생략 가능한 변수도 다 써주는 버릇을 들이는 것이 좋습니다.
특히 name은요

꼭 모르는 놈이 어려운말 쓴다고 저를 두고 한 말 같습니다만,
제대로 배워보시라고 저도 헷갈리는 말들을 일부러 골라썼습니다. ㅈㅅㅈㅅ
ㅡ3ㅡ; 이제는 정말 제대로 배우고 오겠습니다. ㅠ,.ㅜ; 정말 죄송합니다.
친절한 답변 정말 감사합니다. 제가 아직 '자바'에 무식해서 알수가 없었던 겁니다.ㅜ.ㅜㅋ
다른 어느 사이트에서도 얻을 수 없던 정확한 답변입니다... 꾸벅..
전체 8 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT