Window.close 및 Self.close가 Chrome을 닫지 못함 Windows: 종합 분석
window.close() 또는 self.close 호출 () JavaScript 코드 내에서 Chrome의 창을 닫지 못할 수 있습니다. 이러한 불일치는 스크립트가 생성되지 않은 한 스크립트가 창을 닫는 것을 Chrome에서 금지한다는 일반적인 오해에서 비롯됩니다. 이는 거짓이지만 이러한 메서드는 여전히 예상대로 작동하지 못할 수 있습니다. 이 기사에서는 근본적인 이유를 자세히 살펴보고 잠재적인 해결책을 모색합니다.
보안 제한
최신 브라우저는 악성 스크립트가 무차별적으로 창을 닫는 것을 방지하기 위해 보안 조치를 구현했습니다. window.close() 사양에 따라 JavaScript는 일반적으로 동일한 스크립트로 생성되지 않은 창을 닫는 것이 허용되지 않습니다. 이러한 제한은 보안 악용 및 사용자 불편을 억제하는 것을 목표로 합니다.
Firefox 구현
Firefox는 이러한 보안 지침을 엄격히 준수하며 스크립트가 열지 않은 창을 닫는 것을 명시적으로 금지합니다. 스크립트. Greasemonkey/Tampermonkey 스크립트가 Firefox에서 window.close()를 사용하려고 하면 "스크립트가 스크립트로 열지 않은 창을 닫을 수 없습니다."라는 오류 메시지가 표시됩니다.
Chrome 구현
반면에 Chrome에서는 스크립트가 생성되지 않은 창을 닫을 수 있습니다. 그러나 이 예외는 Greasemonkey 또는 Tampermonkey와 같은 사용자 스크립트 컨텍스트로 확장되지 않습니다. 이러한 컨텍스트에서 window.close()를 사용하려고 하면 자동으로 실패하게 됩니다.
해결 방법
Chrome 확장 프로그램 및 Firefox 추가 기능은 신뢰할 수 있는 닫기 솔루션을 제공합니다. Windows에는 사용자를 위한 해킹된 해결 방법이 있습니다. scripts:
Chrome:
Firefox:
장기적 솔루션
가장 안정적인 접근 방식은 전용 Chrome 확장 프로그램 또는 Firefox 추가 기능을 만드는 것입니다. window.close()를 효과적으로 호출할 수 있습니다. 또는 사용자 스크립트 개발자가 내장된 창 닫기 기능에 대해 Greasemonkey 또는 Tampermonkey에 기능 요청을 제출하는 것을 고려할 수 있습니다.
위 내용은 `window.close()` 및 `self.close()`가 Chrome Windows를 닫지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!