복붙노트

[JQUERY] 어떻게 JS에서 (멀리 이동) 하역에서 페이지를 중지합니까?

JQUERY

어떻게 JS에서 (멀리 이동) 하역에서 페이지를 중지합니까?

해결법


  1. 1.onbeforeunload 당신이 원하는 일이다; 함수는 "이벤트 객체의 ReturnValue를 속성에 문자열 값을 할당하고 동일한 문자열을 반환해야합니다." 자세한 내용은 마이크로 소프트와 모질라에서 문서를 확인하십시오.

    onbeforeunload 당신이 원하는 일이다; 함수는 "이벤트 객체의 ReturnValue를 속성에 문자열 값을 할당하고 동일한 문자열을 반환해야합니다." 자세한 내용은 마이크로 소프트와 모질라에서 문서를 확인하십시오.

    당신이 반환 문자열은 그들이 그렇게 선택하는 경우가있어 거부 할 수 있도록 사용자 지정 확인 상자를 사용자에게 제시하는 브라우저에 의해 사용됩니다. 그것은 거부 브라우저 공격을 일으키는 악성 스크립트를 방지하기 위해 그 방법을 수행해야합니다.


  2. 2.이 코드는 나탈리의 제안에 따라 경고,하지만 페이지에 양식이 제출 된 경우 경고를 비활성화합니다. JQuery와 사용합니다.

    이 코드는 나탈리의 제안에 따라 경고,하지만 페이지에 양식이 제출 된 경우 경고를 비활성화합니다. JQuery와 사용합니다.

    var warning = true;
    window.onbeforeunload = function() { 
      if (warning) {
        return "You have made changes on this page that you have not yet confirmed. If you navigate away from this page you will lose your unsaved changes";
      }
    }
    
    $('form').submit(function() {
       window.onbeforeunload = null;
    });
    

  3. 3.당신은입니다 onbeforeunload 이벤트를 사용하고 싶습니다.

    당신은입니다 onbeforeunload 이벤트를 사용하고 싶습니다.


  4. 4.

    window.onbeforeunload = confirmExit;
    function confirmExit()
    {
        return "You have attempted to leave this page.  If you have made any changes to the fields without clicking the Save button, your changes will be lost.  Are you sure you want to exit this page?";
    }
    

  5. 5.

    window.onbeforeunload = function() { 
      if (warning) {
        return `You have made changes on this page that you have not yet confirmed. 
        If you navigate away from this page you will lose your unsaved changes`;
      }
    }
    

    크롬, 사파리, 오페라에서 지원되지 않습니다


  6. 6.AS는 beforeunload 이벤트에의 jQuery 바인딩이 코멘트, 아무것도 말했다.

    AS는 beforeunload 이벤트에의 jQuery 바인딩이 코멘트, 아무것도 말했다.

    그래서 당신은 beforeunload 이벤트에 함수를 바인딩하는 순수 자바 스크립트를 사용해야합니다.

    var에 경고가 진정한 =; () {. ( "양식") $ (기능 제출 경고는 거짓 =; }); $ ( '# 출구'). ((기능을 클릭) { window.location.replace ( 'https://stacksnippets.net/js') }); window.onbeforeunload = 함수 () { 경우 (경고) { true를 반환; } } <스크립트 SRC = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js">


  7. 7.반환하는 대신 거짓의 e.preventDefault ()를 사용해보십시오. 'e'는 당신의 언로드 콜백의 첫 번째 인수 될 것이다.

    반환하는 대신 거짓의 e.preventDefault ()를 사용해보십시오. 'e'는 당신의 언로드 콜백의 첫 번째 인수 될 것이다.

  8. from https://stackoverflow.com/questions/1299452/how-do-i-stop-a-page-from-unloading-navigating-away-in-js by cc-by-sa and MIT license