你如何明确地检测用户是否按下了浏览器中的后退按钮?
如何使用#URL系统在单页Web应用程序中强制使用页内后退按钮?
为什么地球上没有浏览器按钮触发他们自己的事件!?
所以我已经在stackoverflow上阅读了几个问题/答案并搜索了问题,我似乎无法得到event.state回来以外的任何东西,但 event.state
我知道它不适用于jQuery事件,但当我做这样的事情时:
window.onpopstate = function (e) {
console.log(e.state)
}
Run Code Online (Sandbox Code Playgroud)
随着jQuery.ajax成功调用的东西
history.pushState({ lastUrl: data.State }, data.Title, data.UrlKey);
Run Code Online (Sandbox Code Playgroud)
Chrome(v19)或Firefox(v12)都不会返回任何空值?我错过了什么吗?它没有完全实现吗?
当用户进入历史回溯1时...如何检测到?然后,提醒"用户点击回来!"
使用绑定(最好是jquery)
我正在使用Reactjs。我想警告用户单击后退按钮。我所做的是
handleWindowClose = (ev) => {
ev.preventDefault();
return ev.returnValue = 'Leaving this page will loose data';
}
componentDidMount = () => {
window.addEventListener('beforeunload',this.handleWindowClose);
}
componentWillUnmount = () => {
window.removeEventListener('beforeunload',this.handleWindowClose);
}
Run Code Online (Sandbox Code Playgroud)
但是,这与单击后退按钮不起作用。所以我尝试这样做
handleWindowClose = (ev) => {
ev.preventDefault();
return ev.returnValue = 'Leaving this page will loose data';
}
onBackButtonEvent = (e) => {
e.preventDefault();
if(confirm("Do you want to loose this data")){
window.history.go(0);
}else {
window.history.forward();
}
}
componentDidMount = () => {
window.addEventListener('beforeunload',this.handleWindowClose);
window.addEventListener('popstate',this.onBackButtonEvent);
}
componentWillUnmount = () => { …Run Code Online (Sandbox Code Playgroud)