>웹 프론트엔드 >JS 튜토리얼 >Firefox, Safari 및 Opera에서 `window.onbeforeunload` 및 `window.onunload`가 작동하지 않는 이유는 무엇입니까?

Firefox, Safari 및 Opera에서 `window.onbeforeunload` 및 `window.onunload`가 작동하지 않는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-02 21:21:30672검색

Why Aren't `window.onbeforeunload` and `window.onunload` Working in Firefox, Safari, and Opera?

window.onbeforeunload 및 window.onunload가 특정 브라우저(Firefox, Safari, Opera)에서 작동하지 않음

채팅 애플리케이션에서 문제가 발생함 window.onbeforeunload 및 window.onunload 함수를 사용합니다. 이러한 기능은 IE와 Chrome에서는 원활하게 작동하지만 Opera와 Firefox에서는 작동하지 않습니다. 또한 window.onunload는 Safari, Opera 및 Firefox에서 작동하지 않습니다.

이러한 불일치는 이러한 브라우저가 사용하려는 방법을 지원하지 않는다는 사실에서 발생합니다.

Opera:

  • [Opera에서 onbeforeunload](http://www.zachleat.com/web/dont-let-the-door-hit-you-onunload-and-onbeforeunload) /)
  • onunload가 완전히 지원되지는 않지만 사용자가 저장되지 않은 양식이 있는 페이지에서 다른 곳으로 이동할 때 경고를 표시할 수 있습니다.

Safari:

  • [WebKit 페이지 캐시 II: 언로드 이벤트](https://www.webkit.org/blog/516/webkit-page-cache-ii-the-unload-event/)
  • onunload 대신 pagehide 이벤트 사용을 고려하세요.

Firefox:

  • [Bug 681636 - onbeforeunload 이벤트가 Firefox에서 항상 실행되는 것은 아닙니다. ](https://bugzilla.mozilla.org/show_bug.cgi?id=681636)
  • Firefox에는 아직 솔루션이 제공되지 않았습니다.

따라서 다음이 필수적입니다. 이러한 기능의 브라우저 호환성을 확인하고 Firefox, Safari 및 Opera에 대한 대체 접근 방식을 살펴보세요.

위 내용은 Firefox, Safari 및 Opera에서 `window.onbeforeunload` 및 `window.onunload`가 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.