[javascript] 브라우저 창에서 현재 탭을 닫는 방법은 무엇입니까?

브라우저의 다른 탭을 닫지 않고 브라우저에서 현재 활성 탭을 닫는 링크를 웹 페이지에 만들고 싶습니다.
사용자가 닫기 링크를 클릭하면 “YES”와 “NO”의 두 버튼으로 확인하라는 경고 메시지가 나타납니다. 사용자가 “예”를 클릭하면 해당 페이지를 닫고 “아니오”이면 아무것도하지 마십시오.

어떻게 할 수 있습니까? 어떤 제안?



답변

이를 위해서는 Javascript가 필요합니다. 사용 window.close():

close();

참고 : 현재 탭이 내포되어 있습니다. 이것은 동등하다 :

window.close();

또는 다른 창을 지정할 수 있습니다.

그래서:

function close_window() {
  if (confirm("Close Window?")) {
    close();
  }
}

HTML로 :

<a href="javascript:close_window();">close</a>

또는:

<a href="#" onclick="close_window();return false;">close</a>

당신은 return false이벤트의 기본 동작을 방지하려면 여기를. 그렇지 않으면 브라우저는 해당 URL로 이동하려고 시도합니다 (명백하지 않음).

이제 window.confirm()대화 상자 의 옵션은 확인 및 취소입니다 (예 및 아니오 아님). 예와 아니오 를 정말로 원한다면 일종의 모달 자바 스크립트 대화 상자를 만들어야합니다.

참고 : 위와 브라우저마다 차이가 있습니다. 을 통해 자바 스크립트로 창을 열면 (자바로 window.open()) 자바 스크립트로 창 을 닫을 수 있습니다. Firefox는 다른 창을 닫을 수 없습니다. IE는 사용자에게 확인을 요청합니다. 다른 브라우저는 다를 수 있습니다.


답변

이 시도

<a href="javascript:window.open('','_self').close();">close</a>


답변

이 방법은 Chrome 및 IE에서 작동합니다.

<a href="blablabla" onclick="setTimeout(function(){var ww = window.open(window.location, '_self'); ww.close(); }, 1000);">
    If you click on this the window will be closed after 1000ms
</a>


답변

내가 알 수있는 한 더 이상 Chrome 또는 FireFox에서는 불가능합니다. IE (적어도 pre-Edge)에서는 여전히 가능할 수 있습니다.


답변

것이 가능하다. 나는 이것에 대해 전체 그물을 검색했지만 한 번 Microsoft의 설문 조사 중 하나를 취했을 때 마침내 대답을 얻었습니다.

이 시도:

window.top.close();

현재 탭이 닫힙니다.


답변

FF 18 및 Chrome 24에서 성공적으로 테스트되었습니다.

머리에 삽입 :

<script>
    function closeWindow() {
        window.open('','_parent','');
        window.close();
    }
</script> 

HTML :

<a href="javascript:closeWindow();">Close Window</a>

크레딧은 Marcos J. Drake 로갑니다 .


답변

이것도 시도하십시오. 세 가지 주요 브라우저 모두에서 나를 위해 일하고 있습니다.

<!-- saved from url=(0014)about:internet -->
<a href="#" onclick="javascript:window.close();opener.window.focus();" >Close Window</a>