2012-12-18 7 views
-1

자식 창이 열릴 때 부모 창을 닫는 방법이 있는지 알고 싶습니다. 현재 프레임을 사용하고 있습니다. (예, 프레임 작업에 대한 번거 로움을 알고 있지만 클라이언트를 알고 있습니다.) 그래서 현재 프레임에서 링크가 클릭되면 새로운 자식 창 child.php를 열려고합니다. 그리고 일단이 자식 창이 열리면 javascript를 사용하여 전체 프레임 index.php를 닫아야합니다. 이게 가능하며 브라우저에 의존하는 날씨인지 알려주세요.프레임을 사용하여 부모 창이 팝업 될 때 자식 창을 닫습니다.

+0

PHP는 서버 측입니다. 브라우저 창을 열거 나 닫을 수 없습니다. Javascript를 사용 하시겠습니까? – Charles

+0

예, 자바 스크립트. – freaky

+0

질문하기 전에 숙제를하십시오. 지금까지 뭐 해봤 어? - 매뉴얼을 직접 참조하십시오. [MDN에서'window.close()'에 대해] (https://developer.mozilla.org/en-US/docs/DOM/window.close) - [window.Close()가 왜 작동하지 않는지 Firefox?] (http://stackoverflow.com/q/7510835/367456) – hakre

답변

1

JavaScript window.open()으로 연 경우 JavaScript를 사용하여 브라우저 창을 닫을 수 있습니다. 일부 브라우저 구현 (예전과 비슷하지만 확실하지는 않음)에서 JavaScript로 열지 않은 창을 닫으려고하면 브라우저에서 사용자에게 확인 대화 상자가 나타났습니다. 스크립트가 창을 닫으려고합니다.

그래서 대답은 예와 아니오입니다. 아니요, 기본적으로 할 수 없습니다. 최신 브라우저는 오류없이이를 무시합니다. 다른 한편으로, 만약 당신이 정말로이 방법으로 그것을하고 싶다면 JavaScript로 메인 프레임 셋을 열어야한다. 다른 작업을 수행하지 않는로드 페이지를 사용하는 것과 마찬가지로 window.open()을 사용하여 프레임 셋을 팝업합니다. 그런 다음 프레임에서 추가 창을 열면 프레임 셋 창을 닫을 수 있습니다.

+0

그래서 당신의 말은 'window.open'을 프레임 셋의 값으로 사용해야하고 이후에는 자식 윈도우를 열 때 'window.close'를 사용하여 메인 프레임 셋을 닫을 수 있습니다. – freaky

+0

예. 올바른 방법은 "로더"에 있습니다 : 'var win = window.open (...);' 그러면'win'에서'close()'를 호출해야합니다. – marekful

+0

또한, JavaScript로 열린 프레임 셋에서 창을 여는 경우, 제안 된 방식이 아닌 'window.opener.close()'에 의해 열린 프레임 세트 창을 닫을 수 있다는 점에 유의할 가치가 있습니다 위. – marekful

관련 문제