NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    JavaScript 자바스크립트 브라우저 닫기.

    페이지 정보

    본문

    자바스크립트를 사용하여 브라우저를 닫으려면 window.close() 메서드를 사용할 수 있습니다. 그러나 이 방법은 보안상의 이유로 일부 브라우저에서 작동하지 않을 수 있습니다.

    일부 브라우저에서 window.close() 메서드를 사용하려면 해당 창이 자바스크립트로 열린 창인 경우에만 작동합니다. 즉, 사용자가 직접 창을 열거나 다른 창에서 해당 창을 열었을 경우에는 작동하지 않습니다.

    따라서, 일반적으로 브라우저 창을 닫으려면 사용자가 직접 창을 닫도록 요청하는 방법이 좋습니다. 예를 들어 window.confirm() 메서드를 사용하여 사용자에게 메시지를 표시하고 창을 닫을 것인지 확인을 받을 수 있습니다.

    아래는 window.confirm() 메서드를 사용하여 사용자에게 메시지를 표시하고 창을 닫을 것인지 확인을 받는 예시입니다.

    if (window.confirm("창을 닫으시겠습니까?")) {
      window.close();
    }
    

     

    이 코드는 사용자가 확인 버튼을 클릭하면 창이 닫힙니다. 그러나 취소 버튼을 클릭하면 창이 닫히지 않습니다. 그렇다면 다른 방법은 없을까요?

     

    일부 브라우저에서는 window.close() 메서드가 작동하지 않을 수 있기 때문에, 다른 방법으로 브라우저 창을 닫을 수 있습니다.

    다른 방법 중 하나는 새로운 브라우저 창을 열고, 이전 창을 닫는 것입니다. 이 방법은 대부분의 브라우저에서 작동하며, 아래와 같은 코드로 구현할 수 있습니다.

    window.open('', '_self', '');
    window.close();

     

    window.open() 메서드를 사용하여 새로운 빈 창을 열고, _self를 사용하여 현재 창에서 새로운 창을 열도록 합니다. 그런 다음 window.close() 메서드를 사용하여 현재 창을 닫습니다.

    또 다른 방법은 브라우저의 창을 닫는 것이 아니라 탭을 닫는 것입니다. 이 방법은 window.close() 메서드와 비슷하지만, 일부 브라우저에서는 window.close() 메서드가 작동하지 않지만 탭을 닫는 것은 작동할 수 있습니다.

    window.open('', '_self').close();
    

     

    이 코드는 새로운 빈 탭을 열고, 바로 탭을 닫습니다. 이 방법도 브라우저에 따라 작동하지 않을 수 있으므로 주의가 필요합니다. 

    셀레니움을 사용하여 브라우저 창을 닫으려면 driver.close() 또는 driver.quit() 메서드를 사용할 수 있습니다.

    driver.close() 메서드는 현재 활성화된 창을 닫습니다. 따라서 여러 개의 창을 열었을 경우, 이 메서드를 사용하여 현재 활성화된 창만 닫을 수 있습니다.

    # Python 예시 코드
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    # 현재 창을 닫음
    driver.close()
    

     

    driver.quit() 메서드는 브라우저의 모든 창을 닫습니다. 이 메서드는 driver.close() 메서드보다 강력하며, 모든 창을 닫고 드라이버 세션을 종료합니다.

    # Python 예시 코드
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    # 모든 창을 닫고 드라이버 세션을 종료함
    driver.quit()
    

     

    위의 예시 코드에서 webdriver.Chrome()은 크롬 브라우저의 드라이버를 초기화합니다. 만약 다른 브라우저를 사용한다면, 해당 브라우저의 드라이버를 초기화하면 됩니다. 결론은 셀레니움으로 브라우저를 띄우면 window.close() 코드로는 창을 닫을 수 없다는겁니다. 셀레니움의 close와 quit 함수를 사용해야 합니다. 참고로, 셀레니움으로 자바스크립트를 실행할 수 있습니다. 이런 경우에도 창을 닫을수는 없습니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.