2016-11-26 6 views
0

в reactjs не работает onbeforeunload, этот код:Реагировать JS - обнаружить BackButton

ComponentDidMount 
    window.onbeforeunload = function(e) { 
     return 'Are you sure you want to leave this page? You will lose any unsaved data.'; 
     }; 

работы с только обновлением (F5, Ctrl + R, обновление), но не работает, если нажать кнопку или забой назад ,

ответ

1

window.onbeforeunload будет активирован только при нажатии кнопки «Назад», что приведет к тому, что браузер покинет страницу. Если вы используете хеши для отслеживания состояния на странице, то это ничего не сделает для вас.

Если это так, вы должны использовать вместо этого window.onhashchange. Если это не так, просьба предоставить более подробную информацию в своем вопросе.

+0

мои клиенты могут изменить страницу, но его не изменяет с обратной стороны, onhashchange работает с каждым URL-адресом URL-адреса изменения. –

+0

Да, он работает, но я хочу, чтобы этот клиент не нажал кнопку «Назад», теперь он показывает предупреждение, когда клиент уже покинул предыдущую страницу, я вызвал, windows.onhashchange = function() {alert (Вы уверены, что хотите оставить это страница? Вы потеряете любые несохраненные данные. ') –

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