사용자가 취소를 클릭한 시기 감지
원할 수 있는 작업 중 하나는 사용자가 취소를 클릭하여 페이지 로드를 중단할 때 알림을 받는 것입니다. 안타깝게도 즉시 알림을 받을 수 있는 방법은 없습니다. 당신이 할 수 있는 최선의 방법은 "onbeforeunload" 이벤트에 고유한 전역 변수를 설정한 다음 해당 변수가 다른 함수에 설정되어 있는지 확인하는 것입니다. 사용자가 페이지 언로드를 중단했다는 알림을 즉시 받을 수 있는 방법은 없습니다.
위에서 "onbeforeunload" 대화 상자의 예를 수행하기 위해 사용한 예제 코드는 다음과 같습니다.
var _isset=0;
function 데모() {
window.onbeforeunload = function() {
if (_isset==0) {
_isset=1; // 사용자가 취소한 경우에만 다른 곳에서 표시됩니다.
return "이것은 데모이므로 어떤 옵션을 선택하든 페이지를 떠날 수 없습니다.";
}
}
_isset=0;
window.location.reload();
거짓을 반환합니다.
}
이 코드는 _isset이라는 전역 변수를 정의한 후 0으로 초기화합니다. "onbeforeunload" 이벤트에서 변수가 확인되고 1로 설정된 경우 언로드 대화 상자가 나타나지 않습니다. _isset이 될 수 있는 유일한 방법은 사용자가 이전에 페이지 언로드를 중단한 경우입니다.
그러나 보시다시피 이 방법은 사용자가 확인 상자 처리를 완료했다는 알림을 즉시 받아야 하는 경우에는 도움이 되지 않습니다. 화면에 나타나는 시기를 감지할 수 있지만 사용자가 취소를 클릭한 경우 사용자가 상호작용을 완료한 시점을 알 수 없습니다(사용자가 확인을 클릭한 경우 물론 언로드 이벤트가 발생합니다).
---------------------------------- ---------------
虽然如此,但还是有高手给了如下代码 ^^
"http://www. w3.org/TR/html4/strict.dtd">
onbeforeunload 테스트
<본문>
onbeforeunload 테스트