Javascript
종료방지 스크립트
willbsoon
2020. 11. 25. 15:05
종료 방지하기 위한 스크립트.
window.addEventListener('beforeunload', function (e) {
// Cancel the event
e.preventDefault(); // If you prevent default behavior in Mozilla Firefox prompt will always be shown
// Chrome requires returnValue to be set
e.returnValue = '';
});
출처 : developer.mozilla.org/ko/docs/Web/API/Window/beforeunload_event
Window: beforeunload 이벤트
beforeunload 이벤트는 문서와 그 리소스가 언로드 되기 직전에 window에서 발생합니다.
developer.mozilla.org
// 수업 듣는지 체크하는 팝업 감지하는 스크립트
var naver_popup ="";
var checking = function(){
var date = new Date();
var stamp=date.getFullYear()+""+date.getMonth()+""+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();
console.log("on checking..... "+stamp);
if($("#sudden_popup")[0].style.display === "block"){
console.log("popup pop!!!");
sudden_click_close('sudden_popup');
naver_popup = window.open("https://www.naver.com","dddddd","resizable");
}else{
naver_popup="";
}
if($("#min_lacking_time").html()=="0"){ // 남은시간 0 이면 종료
window.close();
naver_popup = window.open("https://www.naver.com","dddddd","resizable");
}
}
checking();
var term = setInterval(checking,30000);
if(naver_popup!=="" && naver_popup!== undefined && naver_popup!== null){
naver_popup.focus();
naver_popup.close();
sudden_click_close('sudden_popup');// popup close
}
window.addEventListener('beforeunload', function (e) {
// Cancel the event
if($("#min_lacking_time").html()!="0"){
e.preventDefault();
// If you prevent default behavior in Mozilla Firefox prompt will always be shown
// Chrome requires returnValue to be set
e.returnValue = '';
}
clearInterval(term);
closeLec();// 수업 종료에 대한 함수
});