본문 바로가기
dev/javascript

[javascript] 자바스크립트 브라우저 탭 열기 닫기

by 최연탄 2023. 3. 30.
728x90
반응형

참고: https://www.scaler.com/topics/javascript-close-window/

때때로 우리가 연 브라우저 창을 닫아야 하는 경우가 있습니다. JavaScript를 사용하여 브라우저를 닫을 수 있지만 보안상의 이유로 사용자가 연 창이 아니면 닫을 수 없습니다. 이 포스트에서는 먼저 JavaScript 코드를 사용하여 새 창을 여는 방법을 알아보고 close() 메소드를 사용하여 새로 열린 창을 닫는 방법을 알아보겠습니다.

소개

여기서 주목해야 할 사항은 자바스크립트를 사용하여 열은 브라우저 창만 닫을 수 있다는 것입니다. 오늘날의 보안 표준은 사용자가 열은 브라우저 창은 코드로 닫을 수 없도록 합니다.

아래 단계는 스크립트를 사용하여 URL을 닫기 위해 URL을 여는 방법을 보여줍니다:

  • JavaScript의 open() 메소드를 사용하여 새 브라우저 탭 열기: 먼저 window.open() 메서드를 사용하여 새 브라우저 창을 열어야 합니다. 이 메소드는 두 개의 인수를 사용합니다. 첫 번째 인수는 window 객체의 location 속성을 통해 접근할 현재 URL이고 두 번째 인수는 URL이 현재 탭에서 열릴지 말지를 전달할 대상 URL입니다.
  • JavaScript의 close() 메소드를 사용하여 열린 창 닫기: 스크립트를 사용하여 새 브라우저 창을 열었으므로 window.close() 메서드를 사용하여 닫을 수 있습니다. 이 메서드는 인수가 없으며 호출된 탭을 닫습니다.

window.close()를 사용하여 브라우저 탭을 닫기

다음 프로그램은 위에서 설명한 내용의 데모입니다:

<!DOCTYPE html>
<html>

<head>
  <Title>My Web Page</Title>
</head>

<body>
  <p>
    Click the button to close the current window.
  </p>

  <button onclick="return closeWindow();">Close</button>

  <script type="text/javascript">
    function closeWindow() {
      let my_window = open(location, '_self');

      setTimeout(function () {
        my_window.close();
      }, 1000);

      return false;
    }
  </script>
</body>

</html>

close 버튼을 누르면 새 탭이 열리고 1초 뒤 닫힙니다.

설명: 먼저 HTML 문서를 만들고 body 태그 아래에 버튼을 클릭하여 창을 닫으라는 p 태그를 정의했습니다. 그런 다음 button을 정의하고 버튼을 클릭하면 실행할 onclick 리스너를 추가했습니다. 마지막으로 함수의 기능을 정의하는 JavaScript 코드 있습니다. 스크립트에는 변수 my_window를 정의하여 새 탭을 연 다음 1000 밀리초 후 close() 메소드를 사용하여 새 탭을 닫습니다.

정리

  • 브라우저 창을 닫으려면 JavaScript의 close() 메소드를 사용 가능한데 새 창을 열은 경우에만 사용할 수 있습니다.
  • 최신 보안상의 이유로 다른 브라우저 창을 닫을 수는 없습니다.
  • 새 창을 열려면 JavaScript의 open() 메소드를 사용하면 됩니다.
  • 이 창을 닫으려면 JavaScript의 close() 메소드를 사용합니다.

관련 글

자바스크립트 setTimeout 사용방법

반응형

댓글