2016-10-26 2 views
0

window.onbeforeunload()가 IE와 Chrome의 브라우저를 닫으면 작동하지만 브라우저가 닫힌 상태에서만 작동합니다 (탭 닫기에서만 작동).Firefox 브라우저에서 window.onbeforeunload()가 작동하지 않습니다.

내 요구 사항 : 나는 document.getelementById()를 사용하여 모바일 번호, 전자 메일 아이디, 성 및 성 등을 캡처하고 브라우저 또는 탭을 닫을 때 서비스를 호출합니다.

문제점 : IE와 GC (탭/브라우저 닫기)의 경우에는 서비스가 호출되지만 FireFox의 경우에는 호출되지 않습니다.

어떤 도움이 실질적으로 감사합니다 ...... 당신이 문자열을 반환하거나하지 않는 경우

+1

이 기능을 시도하면 효과가있었습니다. 당신은 console.log에 무엇이든 시도하고 그것을 스스로 기능에 집어 넣을 수 있습니까? 적어도 트리거되었는지 확인하십시오. window.onbeforeunload = function (e) { var dialogText = '여기 대화 상자 텍스트'; e.returnValue = dialogText; return dialogText; }; –

+2

@chaibialaa가 작성한 위 코드는 한 번 페이지와 상호 작용하면 작동합니다. 방금 페이지를 열었지만 페이지에서 아무 것도하지 않으면 메시지가 표시되지 않습니다. 이것은 Firefox가 작동하는 방식입니다. [Mozilla Docs] (https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload) – thekodester

+0

@Chaibi Alaa가 제공 한 코드 페이지를 떠날 것인지 묻는 메시지를 표시하지만 내 요구 사항에 따라 프롬프트를 요청해서는 안됩니다. –

답변

0
  1. 확인합니다.

이 함수는 이벤트 객체의 ReturnValue를 속성에 문자열 값을 할당하고 동일한 문자열을 반환해야합니다. 후자는 종종 일관성 작업을보고 모질라의 docs 또한 표준 브라우저 이벤트의 구현의 변화를 나타내는 바와 같이

2. 는 onunload 대신 onbeforeunload 사용하는 것이 좋습니다. IMO 언로드 이벤트는 실제로 신뢰할 수 없으며 가능한 경우 무시해야합니다.

+0

왜 그는 onUnload를 대신 사용해야합니까? onBeforeUnload는 올바른 내장 함수입니다! –

+0

내 대답이 업데이트되었습니다. – Uberish

+0

추신 : 답변 대신 댓글을 달았지만 그에 대한 평판이 충분하지 않습니다. – Uberish

관련 문제