2016-11-26 102 views
0

在reactjs不onbeforeunload工作,此代码:阵营JS - 检测后退按钮

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地址。 –

+0

是的,它的工作,但我希望客户端不点击返回按钮,现在他显示警报时客户端已经离开上一页,我writed,windows.onhashchange = function(){alert(你确定要离开这个页面?您将丢失任何未保存的数据。') –