1

Я пытаюсь показать модальный (с сообщением и кнопкой подтверждения) перед перезагрузкой страницы.Javascript: show Twitter-Bootstrap modal before reload page

Мне нужно проверить массив: если он пуст Я делаю обновление, если это не я хочу показать модальный и спросить пользователя, если хотите перезагрузить.

Я попробовал этот код:

$(window).bind('beforeunload', function(){ 
      if(_pendent_annotations.length > 0){ 
       $('#change_document').modal('show'); 
       $("#change_doc_button").click(function(){ 
           location.reload(); 
       }); 
       return false;  
      } 

     }); 

Проблема заключается в том, что на перезаряжания он показывает alert с сообщением:

"Are you sure you want to navigate away from this page?

false"

Тогда я могу выбрать, чтобы уйти или остаться, если я выбираю чтобы оставить его перезагрузкой, если я решила остаться, это показывает мой modal.

Как я могу избежать предупреждения и показывать только модно, чтобы пользователь выбрал?

Благодаря

+0

[** Этот вопрос и ответ **] (http://stackoverflow.com/q/24117366/1407478) может помочь вам ... – davidkonrad

ответ

0

Попробуйте это: Вы должны предотвратить это событие ничего возвращать.

window.addEventListener('beforeunload', function(event){ 
    if(_pendent_annotations.length > 0){ 
     $('#change_document').modal('show'); 
     $("#change_doc_button").click(function(){ 
       location.reload(); 
     });  
    } 
}); 

https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload

+0

Не работает :(он ведет себя так же, как и раньше –

+0

Извините, я обновил код, который вам нужно удалить event.returnValue = ''; и возвращает false; строки. Я проверил его. Его работа –

+0

Да, я пробовал и новый код, но не работал . Это то же самое в моем коде, за исключением 'event' как параметра функции –