onbeforeunload
브라우저 창을 닫거나 다른 창으로 이동 시 사용자에게 이동 여부를 물어볼 때 사용할 수 있다. 핸들러가 지정되면 핸들러 메소드가 리턴 한 문자열로 무조건 confirm 창이 뜨게 된다. (브라우저 창 닫기/나가기/떠나기/unload/leave) 즉, 사용자가 브라우저 창을 떠나는 것을 완전히 막는 것은 불가능하다. 할 수 있는 것은 메시지를 바꾸는 것 정도이다.
크롬에서 자바스크립트 onbeforeunload 이벤트는 Ajax 동기화 방식이 지원이 되지 않습니다.
크롬 버전 78일 때 발표한 내용인데요 이 부분을 알지 못하고 개발하다가 시간을 조금 소비한 게 아쉬워서 기록해놓습니다.
동기화와 비동기화
사실 사용자 입장에서 페이지를 벗어나기 위해 개발자가 만든 동기화 처리 방식을 통해 많은 양의 작업 때문에 지연시간이 늘어나는 건 굉장히 비효율적이긴 합니다. 다만 Ajax를 통해서 백엔드 부분에 상태 값을 처리 후 콜백 받을 필요가 있어서 동기화로 처리를 하려고 했었는데 사용자 서비스를 고려하지 못했네요.
기존에 페이지를 벗어날 때 동기화 서비스를 사용하고 있으면 동기화 방식에도 대체할 수 있는 방법이 있으므로 대체해야겠지만 크롬 브라우저가 정책을 바꾼 만큼 신규 구축 시에는 웬만하면 비동기 방식으로 처리하면 될 것 같습니다.
'이전자료 > 웹개발' 카테고리의 다른 글
프로그래밍에서 논리란? (0) | 2022.01.17 |
---|---|
비트 마스킹,비트연산으로 비트 가지고 놀기 이진수를 이용한 꼼수 (0) | 2022.01.17 |
웹개발을 위한 XAMPP 설치 방법 [PHP 코딩 서버 아파치] (0) | 2022.01.17 |
구글 크롬 플래시중단, 플래시대체 파일 업로드 테스트 방법 (0) | 2022.01.17 |
웹개발을 위한 XAMPP 설치 방법 [PHP 코딩 서버 아파치] (0) | 2021.08.15 |