사용자가 Safari/Chrome에서 창을 닫을 때 확인 대화 상자를 팝업 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/803887

문제

IE 및 FF에서는 이벤트 핸들러를 OnBeforeUnload에 첨부 할 수 있으며, 이벤트 속성에 문자열을 전달함으로써 사용자는 "언로드"(창을 닫거나 닫기 또는 탐색).

Safari와 Chrome은 onbeforeunload를 지원하지 않으며 OnOnload는 너무 늦은 것 같습니다. Safari/Chrome에서 동일한 기능을 복제 할 수있는 방법이 있습니까?

참고 : 나는 사용자를 인질로 유지하려고하지 않습니다. 나는 이것이 잔소리와 냉각이라는 것을 안다. 사실, 내 사이트는 사용자가 자유롭게 갈 수 있도록 많은 노력을 기울이고, 돌아올 때 모든 것을 그 자리에 두십시오. 그러나 나는 iframes 내부에 다른 사이트를 주최하고 있으며 때로는 나를 제거하고 브라우저를 인수하기로 결정했습니다.

감사!

도움이 되었습니까?

해결책

이것은 Chrome과 Safari에서 나에게 완벽하게 작동합니다.

<html><body><p>Test</p>
<script>window.onbeforeunload = function() { return "Sure?"; }</script>
</body></html>

창을 닫으려고 할 때 프롬프트가됩니다.

다른 팁

stackoverflow 자체가 사용합니다 onbeforeunload, 그리고 사파리에서 나에게 잘 작동합니다.

function setConfirmUnload(a){window.onbeforeunload=a?function(){return a}:null}

크롬에서 확인했는데 이것을 사용하여 잘 작동하는 것 같습니다.

<body onunload="alert('x');" onbeforeunload="test1();">

이 질문은 다른 새로운 stackoverflow 질문에서 약간 더 자세히 다루고 있습니다.Chrome의 신체 요소에서 onbeforeunload 설정 및 jQuery를 사용하여 즉

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top