>  기사  >  웹 프론트엔드  >  JavaScript가 브라우저 종료 및 이벤트 캡처 코드를 결정하는 방법에 대한 자세한 설명

JavaScript가 브라우저 종료 및 이벤트 캡처 코드를 결정하는 방법에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-07-24 09:58:264009검색

브라우저가 상태 비저장이므로 이때 브라우저 종료를 캡처할 때 두 가지 상황이 발생합니다.

1. 브라우저를 실제로 닫습니다. (a. 닫기 버튼을 클릭합니다. b. 작업 표시줄을 마우스 오른쪽 버튼으로 클릭하여 닫습니다. c. 닫으려면 Alt+F4를 누르세요.)
2. 브라우저를 새로 고칩니다.
그렇다면 이 두 액션을 어떻게 판단하고 구별할 수 있을까요?
Javascript 코드 처리 방법:

function window.onbeforeunload() 
{ 
//用户点击浏览器右上角关闭按钮或是按alt+F4关闭 
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey) 
{ 
// alert("点关闭按钮"); 
document.getElementById("hiddenForm:hiddenBtn").click(); 
// window.event.returnValue="确定要退出本页吗?"; 
} 
//用户点击任务栏,右键关闭。s或是按alt+F4关闭 
else if(event.clientY > document.body.clientHeight || event.altKey) 
{ 
// alert("任务栏右击关闭"); 
document.getElementById("hiddenForm:hiddenBtn").click(); 
// window.event.returnValue="确定要退出本页吗?"; 
} 
//其他情况为刷新 
else 
{ 
// alert("刷新页面"); 
} 
}

여기서 event.clientX는 마우스 커서의 X 좌표이고
document.body.clientWidth는 폼의 너비입니다. 작업 공간
event.clientY는 마우스 커서 Y 좌표
event.altKey Alt 키를 눌렀는지 여부

이벤트 캡처 방법:

<body scroll="no" onbeforeunload="return CloseEvent();" onunload="UnLoadEvent()" > 
</body> 
<script language="JavaScript" type="text/javascript"> 
var DispClose = true; 
function CloseEvent() 
{ 
if (DispClose) 
{ 
return "是否离开当前页面?"; 
} 
} 
function UnLoadEvent() 
{ 
DispClose = false; 
//在这里处理关闭页面前的动作 
} 
</script>

사용자가 "예"를 선택하면 onbeforeunload 이벤트가 트리거됩니다. , 언로드 페이지가 onunload 이벤트를 트리거할 것으로 결정됩니다. 그렇지 않으면 반환 페이지는 어떤 작업도 수행하지 않습니다.

위 내용은 JavaScript가 브라우저 종료 및 이벤트 캡처 코드를 결정하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.