현재 창이 닫히기 전에 현재 창이 닫혀 있는지 확인하십시오.
<pre name = "code"> <pre name = "code"> <html> <head> <script language = "javaScript"> window.onbeforeUnload = function (enver) {alert ( "222"); // IE9는 여기에서 실행됩니다. Chrome은 // if (event.clientx> body.body.clientWidth && event.clienty <0 || event.AltKey)를 실행하지 않습니다. {// 새로 고침되면 "창을 닫으려고 확인하십시오"; //}} var aa; var intervalvar; 함수 showclose () {console.log ( "대기 및 val은 :"+aa.closed); ClearInterval (Intervalvar); } function loadform () {aa = window.open ( 'foo.html', 'windowname', "width = 200, height = 200, scrollbars = no"); Console.log ( "OP 및 VAL 앞에 닫기를 확인하십시오 :"+aa.closed); // 이제 창이 닫히지 않았으며 결과는 false aa.close ()입니다. <span style = "white-space : pre"> </span> // Window Closing Console.log를 호출합니다 ( "대기 중이 아니며 val은 다음과 같습니다."+aa.closed); //aa.close는 호출 과정에 있으며 결과는 false intervalvar = setInterval (showclose, 100)입니다. }; // 루프를 사용하여 하위 창이 닫혀 있는지 여부를 감지합니다. 실제로 settimeout을 사용해도 괜찮지 만 값은 더 큰 함수 unloadform () {alert ( "2!")를 설정해야합니다. }IE9에서 문서가 새로 고쳐지면 unloadform 및 onbeforeunload가 실행됩니다. 페이지가 닫히면 onbeforeunload 만 실행됩니다.
페이지를 닫을 때 OnOnload가 실행되지 않는다는 점은 주목할 가치가 있습니다. 이 기능은 브라우저의 내장 이벤트이며 재정의 할 수없는 것으로 추정됩니다.
Chrome에서 문서가 새로 고쳐지면 unloadform과 onbeforeunload가 모두 실행됩니다. 페이지가 닫히면 onbeforeunload 만 실행됩니다. 주석은 라인이 실행되지 않을 것입니다.
Window.open에서 열린 자식 창인 경우 Window.closed 속성을 사용하여 닫힌 지 확인하십시오.
<html> <head> <script language = "javaScript"> var aa; var intervalvar; 함수 showclose () {console.log ( "대기 및 val은 :"+aa.closed); ClearInterval (Intervalvar); } function loadform () {aa = window.open ( 'foo.html', 'windowname', "width = 200, height = 200, scrollbars = no"); Console.log ( "OP 및 VAL 앞에 닫기를 확인하십시오 :"+aa.closed); // 이제 창이 닫히지 않았으며 결과는 false aa.close ()입니다. // 창을 닫는 콘솔을 호출합니다. // 현재 aa.close는 호출 과정에 있으며 결과는 false intervalvar = setInterval (showclose, 100)입니다. }; // 루프를 사용하여 자식 창이 닫혀 있는지 여부를 감지하십시오. 실제로 Settimeout을 사용해도 괜찮지 만 값은 더 큰 함수 unloadform () {alert ( "2!")를 설정해야합니다. }자동으로 창을 닫는 코드.
<html> <head> <script language = "javaScript"> var aa; var intervalvar; window.onbeforeunload = function (event) {aa.close (); "안녕하세요"를 반환합니다. } function loadform () {aa = window.open ( 'test.htm', 'windowname', "width = 200, height = 200, scrollbars = no"); }; 함수 unloadform () {alert ( "2!"); }