사용자가 Safari/Chrome에서 창을 닫을 때 확인 대화 상자를 팝업 할 수 있습니까?
-
03-07-2019 - |
문제
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를 사용하여 즉
제휴하지 않습니다 StackOverflow