이 기능에 문제가 있습니다. 나는 설명 할 것이다 - 사용자가 브라우저를 닫으면 기능을 실행해야한다. 이 함수는 JavaScript- saveCookieScriptPrefOnLogOut()로 작성합니다.사용자가 브라우저를 닫을 경우 기능 실행
내가이 솔루션이 (I이 사용 유래에서 정보 writed) :이 솔루션
var inFormOrLink;
$('a').live('click', function() { inFormOrLink = true; });
$('form').bind('submit', function() { inFormOrLink = true; });
$(window).bind('beforeunload', function(eventObject) {
var returnValue = undefined;
if (! inFormOrLink) {
saveCookieScriptPrefOnLogOut();
}
saveCookieScriptPrefOnLogOut();
return true;
});
문제입니다 : 질문 모든 브라우저 디스플레이 창은 "당신이 정말로 닫으시겠습니까?"
이 정보/창을 숨겨야합니다. 두 번째 문제 (덜 중요하지만 여전히 중요하지 않음) - FF 및 IE는 링크 또는 양식 제출을 클릭하면이 기능이 실행됩니다. 링크 및 양식 제출을 무시해야합니다.
솔루션은 크로스 브라우저 솔루션 (IE, Chrome, FF : Windows에서 가장 중요한 것은 IE 임)이어야합니다. 나는 PHP와 자바 스크립트를 사용할 수있다.
이 문제를 어떻게 해결할 수 있습니까? 이벤트 핸들러 (더 return
문이 암시 적으로 undefined
반환) 대화 상자가 표시되지 않습니다에서 undefined
을 반환하는 경우 또한, 당신이 상관없이 inFormOrLink
의 saveCookieScriptPrefOnLogOut
라고 ..
var inFormOrLink = false;
$('a').live('click', function() { inFormOrLink = true; });
$('form').live('submit', function() { inFormOrLink = true; });
$(window).bind('beforeunload', function() {
if(!inFormOrLink) {
saveCookieScriptPrefOnLogOut();
}
});
:
사용자가 브라우저를 닫아야하는 이유는 무엇입니까? 페이지로드가 끝나면 왜 쿠키를 쓸 수 없습니까? 이것은 웹 페이지와 같은 무국적 환경에서의 개발에 대한 잘못된 접근 방식입니다. – deceze
여기에 비슷한 질문이 있습니다. http://stackoverflow.com/questions/6107967/javascript-jquery-crossbrowser-detection-when-user-is-closing-the-browser –