> 웹 프론트엔드 > JS 튜토리얼 > JavaScript는 웹 페이지가 닫혔는지 또는 새로 고쳐졌는지 여부를 결정합니다._javascript 기술

JavaScript는 웹 페이지가 닫혔는지 또는 새로 고쳐졌는지 여부를 결정합니다._javascript 기술

PHP中文网
풀어 주다: 2016-05-16 15:39:38
원래의
1968명이 탐색했습니다.

페이지 동작 시간을 떠나는 onunload 트리거 시간을 통해 이때의 브라우저 창 크기를 감지하는 것이 원칙입니다. 크기에 따라 사용자가 동작 프로그램을 새로 고칠지, 점프할지, 닫을지를 판단할 수 있습니다

코드는 다음과 같습니다

window.onunload = function(){    
    var a_n = window.event.screenX - window.screenLeft;    
    var a_b = a_n > document.documentElement.scrollWidth-20;    
    if(a_b && window.event.clientY< 0 || window.event.altKey){    
         alert(&#39;关闭页面行为&#39;); 
    }else{ 
         alert(&#39;跳转或者刷新页面行为&#39;);   
      } 
}
로그인 후 복사

브라우저 오른쪽 상단의 닫기 버튼을 이용하면 잘 되는데, 그렇지 않습니다. 탭을 닫거나 작업 표시줄을 닫을 때는 작동하지 않습니다.

js 태그에는 onloadonunloadonbeforeunload 이벤트만 있고 onclose 이벤트는 없습니다.

onunload 이벤트는 페이지가 닫히거나 새로 고쳐지는 것과 관계없이 실행됩니다.

페이지 닫는 모습을 어떻게 캡쳐하나요?
페이지가 로드될 때 Onload가 실행됩니다.
페이지가 닫힐 때만 Onunload가 실행됩니다.
Onbeforeunload가 먼저 실행되고, 그 다음 onunload가 실행되고, 페이지가 새로 고쳐질 때 마지막으로 onload가 실행됩니다. <… 🎜>


위 방법으로는 360, ie8 등 멀티탭 브라우저를 판단할 수 없습니다. 아래

코드를 살펴보겠습니다. 다음과 같습니다
 document.documentElement.scrollWidth-20;
        if(b && evt.clientY
로그인 후 복사

위의 내용만 사용할 수 없고 작업 표시줄이 닫히는 것은 기본적으로 우리의 요구 사항을 충족합니다.

위 내용은 본 글에 소개된 자바스크립트로 웹페이지가 닫혔는지 새로 고쳤는지 확인하는 내용이며, 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!
function CloseOpen(event) { 
     if(event.clientX<=0 || event.clientY0)&&(event.clientX < document.body.clientWidth)) 
        {
         s0 += "刷新窗口!";
        }
        else 
        {
        //获取当前时间
          var date=new Date();
          //将date设置为过去的时间
          alert("关闭网页");
          date.setTime(date.getTime()-10000);
          //将userId这个cookie删除
          document.cookie="zhuangtao;expire="+date.toUTCString();
          document.cookie="quanxianzifucuan;expire="+date.toUTCString();
          document.cookie="quanxian;expire="+date.toUTCString();
         s0 += "关闭窗口!"; sw = 1;
        }
      }
    }
    if (sw == 1) 
    {
     event.returnValue = "";
    }
    else 
    {
     currentKeyCode = -1;
    }
  
  }
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿