복붙노트

[JQUERY] 그것은 beforeunload 팝업에서 사용자 정의 메시지를 표시 할 수 있습니까?

JQUERY

그것은 beforeunload 팝업에서 사용자 정의 메시지를 표시 할 수 있습니까?

해결법


  1. 1.TL - 당신은 가장 현대적인 브라우저에서 더 이상 사용자 정의 메시지를 설정할 수 없습니다 박사

    TL - 당신은 가장 현대적인 브라우저에서 더 이상 사용자 정의 메시지를 설정할 수 없습니다 박사

    사용자 전에 확인 메시지를 설정하기 위해 사용할 수있는 창을 닫는

    jQuery를

    $(window).bind("beforeunload",function(event) {
        return "You have some unsaved changes";
    });
    

    자바 스크립트

    window.onbeforeunload = function() {
        return "Leaving this page will reset the wizard";
    };
    

    당신은 확인 / 경고 내부의 beforeunload에 둘 수 없음이 통지에 중요

    저는 여기에 액세스 할 수있는 브라우저를 사용하여 결과는 다음과 같습니다

    크롬:

    파이어 폭스 :

    원정 여행:

    IE :

    브라우저 지원 및 사용자 정의 메시지의 제거에 관한 더 많은 정보 :


  2. 2.더 이상은. 모든 주요 브라우저는 실제 메시지를 무시하기 시작하고 단지 자신을 보여왔다.

    더 이상은. 모든 주요 브라우저는 실제 메시지를 무시하기 시작하고 단지 자신을 보여왔다.

    옳은. 오래 전, 당신은 확인 또는 경고를 사용할 수, 최근에 당신은입니다 onbeforeunload 핸들러에서 문자열을 반환 할 수 및 해당 문자열이 표시됩니다. 이제, 캐릭터 라인의 내용은 무시되고 그것은 플래그로 처리됩니다.

    사용 jQuery를가 때, 당신은 실제로 원래 이벤트에 ReturnValue를 사용해야합니까 :

    $(window).on("beforeunload", function(e) {
        // Your message won't get displayed by modern browsers; the browser's built-in
        // one will be instead. But for older browsers, best to include an actual
        // message instead of just "x" or similar.
        return e.originalEvent.returnValue = "Your message here";
    });
    

    또는 옛날 방식 :

    window.onbeforeunload = function() {
        return "Your message here"; // Probably won't be shown, see note above
    };
    

    그것은 당신이 할 수있는 전부입니다.


  3. 3.난 그냥 사업부가 배경에 있음을 나타냅니다에게 메시지를 표시했다. 그것은 모달 뒤에 그러나 이것은 더 좋은 것은 없다. 그것은 그늘의 종류하지만 적어도 당신이 사용자에게 당신이 그녀를 귀찮게하는 이유에 관한 정보를 제공 할 수 있습니다 / 그를 떠날 수 없습니다.

    난 그냥 사업부가 배경에 있음을 나타냅니다에게 메시지를 표시했다. 그것은 모달 뒤에 그러나 이것은 더 좋은 것은 없다. 그것은 그늘의 종류하지만 적어도 당신이 사용자에게 당신이 그녀를 귀찮게하는 이유에 관한 정보를 제공 할 수 있습니다 / 그를 떠날 수 없습니다.

    constructor($elem)
    {
        $(window).unbind().bind('beforeunload', (e) => this.beforeUnload(e));
    }
    beforeUnload(e)
    {
        $('#leaveWarning').show();
        setTimeout(function(){
            $('#leaveWarning').hide();
        }, 1); // set this to 1ms .. since timers are stopped for this modal,
               // the message will disappear right after the user clicked one of the options  
        return "This message is not relevant in most modern browsers.";
    }
    

    여기에 작업 바이올린입니다 https://jsfiddle.net/sy3fda05/2/


  4. 4.모든 위는 반환 그렇지 않은 경우는 false 아무것도 일어나지 추가 할 필요가 적어도 크롬에서 작동하지 않습니다.

    모든 위는 반환 그렇지 않은 경우는 false 아무것도 일어나지 추가 할 필요가 적어도 크롬에서 작동하지 않습니다.

    window.onbeforeunload = function(e) {
      $('#leaveWarning').show();
    
      // the timer is only to let the message box disappear after the user
      // decides to stay on this page
      // set this to 1ms .. since timers are stopped for this modal  
      setTimeout(function() {
        $('#leaveWarning').hide();
      }, 1);
    
      // 
      return false;
      return "This message is not relevant in most modern browsers.";
    }
    

  5. 5.모든 모든 브라우저가 지원이 코드를 사용해보십시오

    모든 모든 브라우저가 지원이 코드를 사용해보십시오

    window.onbeforeunload = function (e) {
        e = e || window.event;
    
        // For IE and Firefox prior to version 4
        if (e) {
            e.returnValue = 'Sure?';
        }
    
        // For Safari
        return 'Sure?';
    };
    
  6. from https://stackoverflow.com/questions/38879742/is-it-possible-to-display-a-custom-message-in-the-beforeunload-popup by cc-by-sa and MIT license