> 웹 프론트엔드 > JS 튜토리얼 > JavaScript가 Chrome에서 항상 Windows를 닫을 수 없는 이유는 무엇입니까?

JavaScript가 Chrome에서 항상 Windows를 닫을 수 없는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-15 09:55:14
원래의
484명이 탐색했습니다.

Why Can't JavaScript Always Close Windows in Chrome?

Chrome에서 JavaScript의 창 폐쇄 제한: 제한적인 보안 조치

JavaScript는 window.close() 및 self.close()를 제공합니다. 창을 닫는 방법을 사용하는 경우 이러한 도구는 Chrome에서 장애물에 부딪혀 스크립트를 사용하여 창을 닫는 것이 항상 가능한 것은 아닙니다. 간단합니다.

스크립트 기반 폐쇄 제어

보안 문제로 인해 Chrome에서는 JavaScript의 창 닫기 기능을 제한하는 정책을 구현했습니다. 폐쇄를 호출하는 동일한 스크립트에 의해 생성된 경우에만 창 닫기를 허용합니다. 이 제한은 악성 스크립트가 창을 임의로 종료하고 사용자 경험을 방해하는 것을 방지합니다.

Firefox 준수

Firefox는 스크립트에서 창을 닫으려고 시도할 때에도 이 제한을 엄격히 준수합니다. 오류가 발생했습니다. 이와 대조적으로 Chrome은 사용자 스크립트에 대한 예외를 허용하지만 확인 메시지는 표시하지 않습니다.

해키 해결 방법

Chrome의 자체 리디렉션 익스플로잇은 한때 창 닫기를 허용했지만 이 방법은 대부분 차단됨. TamperMonkey와 관련된 한 가지 잠재적인 해결 방법은 스크립트 헤더에 @grant window.close를 사용하는 것입니다. 그러나 이것이 모든 경우에 적용되는 것은 아니며 검색 기록이 없는 탭을 새로 열어야 합니다.

보안에 미치는 영향 및 장기적 해결책

다음으로 인한 보안 위험 window.close를 적절하게 제한하지 않으면 일반적인 사용에 부적합합니다. 권장되는 해결 방법은 창을 안정적으로 닫을 수 있는 Chrome 확장 프로그램이나 Firefox 추가 기능을 개발하는 것입니다. Greasemonkey와 Tampermonkey는 잠재적으로 API 확장을 통해 이 기능을 제공할 수 있습니다.

최후의 수단으로 개인 스크립트의 경우 Firefox에서 Allow_scripts_to_close_windows 설정을 비활성화하면 창 닫기가 활성화될 수 있습니다. 하지만 이는 브라우저 보안을 약화시키므로 주의가 필요합니다.

위 내용은 JavaScript가 Chrome에서 항상 Windows를 닫을 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿