2013-12-24 6 views
0

Я использую функциюКак контролировать страницу перед закрытием окна

window.onbeforeunload = function(){ 
    if(sessionStorage.hasOwnProperty("teststatred")){ 
      validNavigation = true; 
      leave_message = "You are in the middle of the test, Are you sure do you want to close the window?" 
     } 
     if (validNavigation) 
     { 
      if (!e) e = window.event;    
      e.cancelBubble = true; 
      e.returnValue = leave_message;    
      if (e.stopPropagation) { 
       e.stopPropagation(); 
       e.preventDefault(); 
      }    
      return leave_message; 
     } 
} 

Эта функция будет отображаться окно из двух кнопок: Leave this page и Stay on this page. Как я могу выполнить функцию, когда пользователь нажимает на Leave this page или «Оставайтесь на этой странице»?

ответ

0

К сожалению, вы не можете ,, потому что единственный способ будет использовать confirm(), alert(), or prompt() и все они будут проигнорированы:

«С 25 мая 2011 года, HTML5 спецификации говорится, что звонки на window.showModalDialog() , window.alert(), window.confirm() и window.prompt() могут игнорироваться во время этого события. '

https://developer.mozilla.org/en-US/docs/Web/API/window.onbeforeunload?redirectlocale=en-US&redirectslug=DOM%2Fwindow.onbeforeunload

Однако делает сказать может так не мешало бы дать ему попробовать и prompt что-то.

+0

Как мы можем найти кнопки 'leavethispage' и' stayonthispage' и как мы можем назначить события щелчка – Jonathan

+0

@DoorknobofSnow Хорошо, отредактировано. – Cilan

Смежные вопросы