브라우저가 상태 비저장이므로 이때 브라우저 종료를 캡처할 때 두 가지 상황이 발생합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!