내 웹 사이트/탭을 닫으려고 할 때 모든 양식이없는 한 사이트를 떠나지 말아야한다는 것을 내 페이지에 beforeunload 이벤트를 사용했습니다. 채우는. 하지만 문제는 내 페이지가 모든 섹션 양식을 채운 후에 다시로드되는 풍부한 양식을 갖고 있다는 것입니다.사용자가 브라우저/탭을 닫을 때만 beforeunload 호출하기
의미 페이지에는 여러 가지 양식이 있으며 각각에는 고유 한 제출 버튼이 있습니다. 사용자가 하나의 form
을 저장하면 페이지가 다시로드됩니다. 하지만 다시로드 할 때 beforeunload
이 해고되고 "사용자는 웹 사이트를 떠나시겠습니까?"라고 묻습니다. 사용자는 웹 사이트를 떠나려하지 않고 방금 페이지를 다시로드했습니다.
요약하면 페이지 재로드시 beforeunload를 피하고 사용자가 탭이나 브라우저를 닫을 때만 호출하고 싶습니다. 그럴 수 있습니다.
나는 다음 코드를 시도했지만 그 작동하지 않았다 :window.onbeforeunload = function(e) {
var e = e || window.event;
var target = e.target.URL;
if (target == "http://mywebsite.com/customerdetails")
{
return false;
}
};
해답을 주셔서 감사합니다. 그러나 (데모도 시도해 보셨습니까?) – Hammad
무슨 뜻입니까? 데모에서 다시로드하려고하면 프롬프트 메시지가 표시됩니다. 양식을 제출해보십시오. –
방금 JSBin 링크를 열고 f5를 누르면 경고 메시지가 표시됩니다. 원하지 않습니다. 탭/창을 닫으려고 할 때만 프롬프트가 표시됩니다. – Hammad